Поразрядный вывод целого числа
Добавлено: 17.04.2010 09:38:33
По работе регулярно сталкиваюсь с тем, что надо выводить целые числа поразрядно.
Предлагаю всем желающим (если таковые есть) функцию, которая принимает LongWord на вход, а на выходе имеет строку из 32 символов
При желании код оч. легко переводится для всех остальных целочисленных типов.
Предлагаю всем желающим (если таковые есть) функцию, которая принимает LongWord на вход, а на выходе имеет строку из 32 символов
При желании код оч. легко переводится для всех остальных целочисленных типов.
- Код: Выделить всё
function BinaryLongWord(LW : LongWord) : string;
{Возвращает значения разрядов числа в строке (32 символа)}
var
i,n:byte;
const
Digits : array[0..$F] of Char = '0123456789ABCDEF';
begin
n:=1;
SetLength(BinaryLongWord, 32);
for i:=31 downto 0 do
begin
BinaryLongWorg[n] := Digits[Ord(LW and (1 shl i) <> 0)];
Inc(n);
end;
end;