字节的顺序怎么交换呢? 我有一个文件,其中数据排放的顺序与正常相反,比如我用filestream.read(s,2) s为smallint型,这样读出的数据是0100,而我需要的数据是0001,比如我用filestream.read(s,4) s为float型,这样读出的数据是01000000,而我需要的数据是00000001,怎么可以快速的把数据按字节交换,得到我需要的数值呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://topic.csdn.net/u/20110407/20/fed96f76-458a-42e0-8e26-a5bd20e66e4c.html用我的回答也可以,不过用高手:lihuasoft的回答更好些。// 跟别人学的bswap汇编指令,挺好用 procedure TForm1.Button1Click(Sender: TObject); var X, Y : DWord; begin X : = 100 ; asm mov eax, X; bswap eax; mov Y, eax; end ; Showmessage(Format( ' X=%.8x, Y=%.8x ' ,[X, Y])); end ; // 2字节function Swap(Data: Word): Word; overrload;asm xchg ah, alend;// 4字节function Swap(Data: DWORD): DWORD; overrload;asm bswap eaxend; mismatch in datapacket 求FTP传输中断代码? 我是新人,我想接触D ,但是不知道是学习D7好还是学习D2005好~ Animate控件的大小 关于quickRep分页打印的问题 更新修改表 请问如何在delphi操作word时设置缩进???????????????????????? 第一次打开工程时会出现invalid resource file:Can't open file :..*.res,怎么回事? delphi 里的for语句? 求助:QuickRep的Bug? 报表打印 请问delphi用什么api可以实现后台鼠标模拟操作?谢谢!
用我的回答也可以,不过用高手:lihuasoft的回答更好些。
// 跟别人学的bswap汇编指令,挺好用 procedure TForm1.Button1Click(Sender: TObject); var X, Y : DWord; begin X : = 100 ; asm mov eax, X; bswap eax; mov Y, eax; end ; Showmessage(Format( ' X=%.8x, Y=%.8x ' ,[X, Y])); end ;
// 2字节
function Swap(Data: Word): Word; overrload;
asm
xchg ah, al
end;// 4字节
function Swap(Data: DWORD): DWORD; overrload;
asm
bswap eax
end;