htons函数没有转换成网络字节序

htons和ntonhs输出的结果是一样的,并且我的机器是小端存储的,htons并没有把主机字节序转换成网络字节序。... htons和ntonhs输出的结果是一样的,并且我的机器是小端存储的,htons并没有把主机字节序转换成网络字节序。 展开
 我来答
来自佛子岩敬老慈幼的大力水手
2016-11-18 · TA获得超过1474个赞
知道小有建树答主
回答量:170
采纳率:100%
帮助的人:41.5万
展开全部
如果是脑筋急转弯,我猜题主用0x0000或0x1111做的测试。
说正经的,题主可能这样测试:assert(htons(0x1234) == ntohs(0x1234)),
因为电脑是小端字节序,因此0x1234经过htons变换后输出0x3412,ntohs(0x1234)也输出0x3412,让楼主产生了“没有进行转换”的错觉。
实际情况是,两次转换都非常成功,第一次将本机的0x1234转换成网络字节序0x3412,第二次将网络序0x1234转换成本机0x3412,因此结果相同。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式