返回信息流unsigned short net_htons(unsigned short shost)
{
unsigned char *p = (unsigned char *)&shost;
return (unsigned short) (p[0] << 8 | p[1]);
}
函数实现功能相信诸位从名字里就能看出来了
但是这个字节序是怎么改变的我却没看懂
希望有高人用简单易懂的语言讲解一二。。。
这是一条镜像帖。来源:北邮人论坛 / cpp / #73202同步于 2013/8/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
无法理解一个函数
RPGViewer
2013/8/13镜像同步5 回复
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
我会这么写:
#define ushort_endian_exchange(sh) (unsigned short)((sh << 8) | ((unsigned short)sh >> 8))
【 在 tonyjansan 的大作中提到: 】
: 我会这么写:
: #define ushort_endian_exchange(sh) (unsigned short)((sh << 8) | ((unsigned short)sh >> 8))
溢出的部分是不是就消失了?