【发布时间】:2016-05-25 11:18:14
【问题描述】:
我正在尝试将一个10位的整数值转换为字节,但该函数只返回4个值,我需要6个点,如何解决?
我用来将整数转换为字节的函数
var
i, j: integer;
bbI : array[1.. sizeof(integer)] of byte;
begin
i := 2337669003;
Move(i, bbI[1], SizeOf(Integer));
for j := Low(bbI) to High(bbI) do
Memo1.Lines.Append(IntToHex(bbI[j],2))
end;
函数返回我
8B 法郎 55 8B
values that are returned 但我需要更多 2 个值
EC 51
函数应该返回我
8B 法郎 55 8B 欧共体 51
【问题讨论】:
-
Ints 的长度为 4 字节,your conversion is fine,已根据您计算机的字节序进行了调整。
-
从哪里获得 EC 51? 2337669003 (dec) 正好是 8B FF 55 8B (hex)
-
问题是值 2.337.669.003 大于 MaxInt (2.147.483.647),你必须使用 Int64。
-
@mezen 1) 2 337 669 003 适合无符号 32 位整数。 2) Int64 不是 6 个字节,所以 OP 的问题中仍然缺少一些东西。
标签: arrays delphi cheat-engine