怎么把一个整数转化为3个十六进制字节 delphi




如何把一个整数转化为3个十六进制字节 delphi
比如把整数149259(都是6位数据整型数) 转换为十六进制为2470B然后再分开为三个字节02 47 0B,求实现代码
示例
var
ID: Integer;
ByteBuf: array[0..2] of Byte;
begin
ID := 149259;
..........
ByteBuf[0] := //02
ByteBuf[1] := //47
ByteBuf[2] := //0B
end;
------解决思路----------------------


var

ID: Integer;

ByteBuf: array[0..2] of Byte;

begin

ID := 149259;

Move(id,ByteBuf[0],3); //字节顺序会与你的要求相反

end;


------解决思路----------------------
var

ID: Integer;

ByteBuf: array[0..2] of Byte;

begin

ID := 149259;

ByteBuf[0] := (ID and $FF0000) shr 16;

ByteBuf[1] := (ID and $00FF00) shr 8;

ByteBuf[2] := ID and $0000FF;

end;

原文地址:https://www.cnblogs.com/zhangzhifeng/p/5525946.html