首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

大端big endian,即高字节在前是什么意思解决方案

2012-12-30 
大端big endian,即高字节在前是什么意思 ipstr:array [0..31] of byteip是32 32 32 2E 38 36 2E 32 30 37

大端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个字节里的存放模式

热点排行