Господя!!!
Код:
function Deshifr(AIn : Byte) : DWORD;
begin
If AIn > 63 Then Raise Exception.Create('Sorry, overflow...');
Result := 1 shl AIn;
end;
пример простейший. Опять-же, не зыбывай, что разряды считаются справа на лево (это если тебя смутит картинка в статье - там Zi в обратном полядке - первым идет младший разряд).
Условие в функции сделано потому, что DWORD - 64 бита, т.е. в простейшем варианте можно сделать только для 7 входных бит. Если нужно больше, то уже надо изобретать велосипед со сложными длинными типами.