- 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-ричное представление.
Причина - нужно было отдельную функцию без лишнего.
Вот такой вот жестокий быдло код :))
bormand 13.06.2012 06:42 # +4
ctm 13.06.2012 06:59 # +2
haker 13.06.2012 07:03 # +3
bormand 13.06.2012 07:34 # +4
geust 13.06.2012 09:04 # +3
ctm 13.06.2012 10:01 # +1
в том смысле, что мешает идею кода, который генерирует все это, использовать здесь?
bormand 13.06.2012 10:25 # +2
Страсть к байтоебству и преждевременной оптимизации.
ctm 13.06.2012 13:36 # 0
bormand 13.06.2012 13:58 # +4
TarasB 13.06.2012 09:32 # +3
Хреновый ты кулхацкер.
Надо так:
geust 13.06.2012 09:42 # +6
ctm 13.06.2012 10:08 # +2
а вообще, это все делается через format(format('%%.%dx', [Digits]), [Num]);
rat4 13.06.2012 10:15 # +4
defecate-plusplus 13.06.2012 10:19 # +5
ADR 14.07.2012 02:48 # −1
[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]
ADR 14.07.2012 02:49 # 0
ADR 14.07.2012 02:50 # −2
[code]begin[/code=pascal]
ADR 14.07.2012 02:51 # −1
ADR 14.07.2012 17:02 # −1
guest 14.07.2012 17:21 # 0
TarasB 14.07.2012 10:45 # 0
eth0 13.06.2012 12:40 # +3
TarasB 13.06.2012 13:46 # 0
geust 13.06.2012 14:09 # 0
TarasB 13.06.2012 14:12 # 0
geust 13.06.2012 14:28 # +2
bormand 13.06.2012 14:39 # +3
bormand 13.06.2012 13:58 # +4
Trunc(Digits/2) - операция с флоатом, очень сочетается с прочим байтоебством и оптимизациями.
TarasB 13.06.2012 14:03 # +8
TheHamstertamer 13.06.2012 14:30 # 0
geust 13.06.2012 14:32 # +2
> Pascal
> big-endian или little-endian текущая платформа
Мне кажется, я знаю ответ.
bormand 13.06.2012 14:45 # 0
2) "The endianness of the 32-bit SPARC V8 architecture is purely big-endian."
> Мне кажется, я знаю ответ.
Поведайте нам его, пожалуйста, о великий и могучий guest!
geust 13.06.2012 14:52 # +2
bormand 13.06.2012 14:56 # +1
R.I.P.
geust 13.06.2012 15:10 # 0
vistefan 14.06.2012 08:48 # +2
это geust - хилый закос под настоящего гвеста. Клацни по нику,
Это Глот с планеты Катрук. Вот настоящий доктор Верховцев...
bormand 14.06.2012 09:02 # +2
defecate-plusplus 14.06.2012 09:03 # +6
bormand 14.06.2012 09:07 # +3
defecate-plusplus 14.06.2012 09:11 # +9
vistefan 14.06.2012 09:15 # −1
Steve_Brown 14.06.2012 09:58 # +1
3.14159265 14.06.2012 14:06 # +2
TarasB 14.06.2012 14:43 # +2
geust 14.06.2012 15:10 # +1
HaskellGovno 14.06.2012 16:48 # +1
guest 15.06.2012 01:46 # +1
roman-kashitsyn 15.06.2012 06:26 # +3
Дёшевы нынче обезьяны
TarasB 14.06.2012 10:56 # +1
А раньше можно было...
geust 14.06.2012 11:00 # +4
TarasB 14.06.2012 11:01 # +4
geust 14.06.2012 11:14 # +1
Страйко, ты зачем сбрил усы выпилил Уникод?
guest 15.06.2012 01:47 # −3
guest 15.06.2012 02:14 # −3
ОБСЛУЖУ В ЖЕНСКОМ БЕЛЬЕ КАВКАЗЦЕВ ТАДЖИКОВ УЗБЕКОВ НА СТРОЙКАХ РЫНКАХ СМС 89119017975 ИЩУ СУТЕНЕРА КАВКАЗЦА АЗИАТА МОЖНО ВЛАСТНУЮ ЖЕНЩИНУ 89119017975
guest 15.06.2012 01:48 # −5
guest 15.06.2012 02:15 # −5