如何将Double型数据占的8字节颠倒过来(50分)

  • 主题发起人 主题发起人 Hydra0
  • 开始时间 开始时间
PChar(double)
p[0]..p[7]
 
定义一个结构:
TDFloatRec = packed Record
case Integer of
0:(df:Double);
1:(b0,b1,b2,b3:Byte);
end;
end;
内存中数据是按低字节在前,高字节在后存放的
 
easykoala和janker的方法都可行
var
tmpPByte: PByte;
tmpByte: Byte;
tmpdouble: Double;
begin
tmpPByte := PByte(tmpdouble);
{ 交换高低位 }
....
end;
 
var
tembyteArr : array[0..7]of byte;
Vdouble;
begin
move(VDouble,tembyteArr,8);
//剩下的工作,你自己颠倒数组就可以
end;
 
多人接受答案了。
 
后退
顶部