C语言学习
疯子头
这个作者很懒,什么都没留下…
展开
-
C语言移位操作符易错点
1.逻辑移位和算术移位差异 逻辑移位是无论左移还是右移,移出都用0来填补。 算术移位分为两种情况,针对无符号值,那么算术移位和逻辑移位是相同的;若有符号值,算术左移等同于逻辑右移,而算术右移,需要根据符号位进行填充,若符号位为1则填充1,反之填充0。 注:在标准中只针对无符号规定左移或右移都是逻辑移位,但是对于有符号值,未有明确规定,是未定义行为,采用逻辑或者算术完全取决于编译器,所以需要避免对有符号值进行移位。 2.移位位数为负数 比如:a>>-2...原创 2020-06-14 02:13:21 · 332 阅读 · 0 评论 -
详解C语言的htons函数
uint16_t htons(uint16_t hostshort); htons的功能:将一个无符号短整型数值转换为网络字节序,即大端模式(big-endian) 参数u_short hostshort: 16位无符号整数 返回值:TCP / IP网络字节顺序 htons 是把你机器上的整数转换成“网络字节序”, 网络字节序是 big-endian,也就是整数的高位字节存放在内存的低地址处。 而我们常用的 x86 CPU (intel, AMD) 电脑是 little-endian,也就是转载 2020-06-06 10:31:07 · 8263 阅读 · 0 评论