- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
function IntToHex(Num: Int64; Digits: Byte): String;
type
DataInt = Array[0..7] of Byte;
var
I:Byte;
Data: ^DataInt;
begin
Data := @Num;
Result := '';
for I := Trunc(Digits/2)-1 downto 0 do begin
if SizeOf(DataInt) < I then
Result := Result+'00'
else begin
case Data^[I] of
0: Result := Result+'00';
1: Result := Result+'01';
2: Result := Result+'02';
{ ........... }
253: Result := Result+'FD';
254: Result := Result+'FE';
255: Result := Result+'FF';
end;
end;
end;
end;
Давно писал функцию для перевода числа в 16-ричное представление.
Причина - нужно было отдельную функцию без лишнего.
Вот такой вот жестокий быдло код :))
в том смысле, что мешает идею кода, который генерирует все это, использовать здесь?
Страсть к байтоебству и преждевременной оптимизации.
Хреновый ты кулхацкер.
Надо так:
а вообще, это все делается через format(format('%%.%dx', [Digits]), [Num]);
[code=pascal]
function IntToHex(Num: Int64; Digits: Byte): String;
const
HexCharSet = '0123456789ABCDEF'
var
I: Integer;
begin
for I := Digits downto 0 do
Result := Result + HexCharSet[(Num shr I * 4) and $F];
end;[code]
[code]begin[/code=pascal]
Trunc(Digits/2) - операция с флоатом, очень сочетается с прочим байтоебством и оптимизациями.
> Pascal
> big-endian или little-endian текущая платформа
Мне кажется, я знаю ответ.
2) "The endianness of the 32-bit SPARC V8 architecture is purely big-endian."
> Мне кажется, я знаю ответ.
Поведайте нам его, пожалуйста, о великий и могучий guest!
R.I.P.
это geust - хилый закос под настоящего гвеста. Клацни по нику,
Это Глот с планеты Катрук. Вот настоящий доктор Верховцев...
Дёшевы нынче обезьяны
А раньше можно было...
Страйко, ты зачем сбрил усы выпилил Уникод?
ОБСЛУЖУ В ЖЕНСКОМ БЕЛЬЕ КАВКАЗЦЕВ ТАДЖИКОВ УЗБЕКОВ НА СТРОЙКАХ РЫНКАХ СМС 89119017975 ИЩУ СУТЕНЕРА КАВКАЗЦА АЗИАТА МОЖНО ВЛАСТНУЮ ЖЕНЩИНУ 89119017975