大端big endian,即高字节在前是什么意思
ipstr:array [0..31] of byte;
ip是32 32 32 2E 38 36 2E 32 30 37 2E 32 30 32
现在我要把IP的16进制存放到ipstr里,按照大端big endian,即高字节在前排序,未使用的数据位皆填0x00。
请教ipstr里的内容应该是什么样的呢????
[解决办法]
高字节在前排序是啥?
procedure TForm1.Button1Click(Sender: TObject);
const ip='32 32 32 2E 38 36 2E 32 30 37 2E 32 30 32';
var
i,j:Integer;
ipstr:array [0..31] of byte;
begin
ZeroMemory(@ipstr[0],sizeof(ipstr));
i:=0;
j:=1;
while j<length(ip) do
begin
ipstr[i]:=strtoint('$'+Copy(ip,j,2));
inc(i);
inc(j,3);
end;
end;
[解决办法]
32位int是4个字节
0x12ab34ef在int的4个字节里的存放模式