免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2152 | 回复: 6
打印 上一主题 下一主题

unix中关于字节顺序的问题!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-05-13 10:52 |只看该作者 |倒序浏览
unix提供了四个函数:htons , htonl ,ntohs,ntohs

这些函数的用途在什么地方??同一类cpu机型是不是不需要啊??

我的理解是凡是要传输16bit,32bit int需要用这几个调整,不知道对不对??

请大虾帮忙解释一下!!!

论坛徽章:
0
2 [报告]
发表于 2003-05-13 11:56 |只看该作者

unix中关于字节顺序的问题!!

基本上就是你的理解。
字节顺序分成网络字节顺序和主机字节顺序,在英文中一般用big endian 和little endian。网络字节顺序一般都是big endian,也就是高位在前,低位在后,而且目前大部分的RISC的CPU主机字节顺序也是这样。
我遇到的也就是Intel的CPU正好是little endian。
我想,如果你需要知道在内存中如何保存一个32bits的int,用char*来强制类型转换,然后用%x打出4个字节,就很清楚了。
一般较好的习惯是使用htons , htonl ,ntohs,ntohs这些函数,这样当程序需要移植的时候,不太会遇到问题。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2003-05-13 12:39 |只看该作者

unix中关于字节顺序的问题!!

同意楼上的!

论坛徽章:
0
4 [报告]
发表于 2003-05-14 18:44 |只看该作者

unix中关于字节顺序的问题!!

这里还有一个操作系统的问题,windows的顺序和sun unix的就不一样,好象windows中是高字节在后,低字节在前。和网络传输的相反!

论坛徽章:
0
5 [报告]
发表于 2003-05-14 20:57 |只看该作者

unix中关于字节顺序的问题!!

和cpu有关

mortorola的是bigending

intel的是littleending

论坛徽章:
0
6 [报告]
发表于 2003-05-14 21:08 |只看该作者

unix中关于字节顺序的问题!!

和操作系统有关吗???

论坛徽章:
0
7 [报告]
发表于 2003-05-14 21:20 |只看该作者

unix中关于字节顺序的问题!!

和操作系统和CPU都有关
有的CPU可以支持两种字节序
这时就和操作系统有关
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP