高低字节交换问题?

shenzhentom 2011-02-08 02:07:39
高低字节交换问题?

外设和主机进行数据交换时(外设和主机系统不同), 数据要高低字节交换。

32位系统的数据应如何高低字节交换呢?


32位有4字节

2<-->3字节交换
1<-->4字节交换

--->这样交换对不对?
...全文
584 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
arong1234 2011-02-09
  • 打赏
  • 举报
回复
应该是ntohl
我拼写错了
arong1234 2011-02-09
  • 打赏
  • 举报
回复
是tol,不是toa[Quote=引用 5 楼 shenzhentom 的回复:]
引用 1 楼 hpsmouse 的回复:
对的。

不过通常不建议手动调整字节序,编译器提供的函数/宏可移植性更好,也更不容易出错。


什么宏呢?

inet_ntoa 这个只转网络地址.
[/Quote]
shenzhentom 2011-02-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hpsmouse 的回复:]
对的。

不过通常不建议手动调整字节序,编译器提供的函数/宏可移植性更好,也更不容易出错。
[/Quote]

什么宏呢?

inet_ntoa 这个只转网络地址.
arong1234 2011-02-09
  • 打赏
  • 举报
回复
inet_ntol就做这个吧
liyi54188 2011-02-09
  • 打赏
  • 举报
回复
最好是自己写个函数进行判断是大端还是小端,在进行转换
qq120848369 2011-02-08
  • 打赏
  • 举报
回复
就是1234变成4321阿。
2011-02-08
  • 打赏
  • 举报
回复
对的。

不过通常不建议手动调整字节序,编译器提供的函数/宏可移植性更好,也更不容易出错。

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧