求Delphi字节顺序转换函数(100分)

  • 主题发起人 主题发起人 GOHKI
  • 开始时间 开始时间
G

GOHKI

Unregistered / Unconfirmed
GUEST, unregistred user!
需要16-bit和32-bit的
最好是效率高一点的
先谢了
 
自已用Hi和Lo函数进行转换就行了
 
Delphi内置了字节交换函数,可以查到的
如果觉得还不爽
可以自己用汇编写一个
 
怎么转换啊,HIBYTE,LOBYTE,HIWORD,LOWORD就可以了啊。
 
to Mike1234567890:
有什么内置函数?是Beyondbill和jennykiller说的吗?
 
自己做了一个简单的32-bit转换函数

function ReverseDWORD(DW: DWORD): DWORD;
begin
Result := (DW and $000000FF) shl 24
+ (DW and $0000FF00) shl 8
+ (DW and $00FF0000) shr 8
+ (DW and $FF000000) shr 24;
end;

不知道用汇编怎么写
 
直接用SWAP也行
 
像我们这种笨人可以这样做:
①转换成16位(32位)二进制;
②调换前后8位(16位)顺序;(字符串操作应该不难吧?);
③把调整顺序后的串逆转换.
优点:简单初学者容易看懂
缺点:代码执行效率不好,速度慢
 

Similar threads

回复
0
查看
978
不得闲
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部