C语言位操作
qq_21095607
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言位操作
C语言位操作1 位操作运算符 1.1、与 (&)、或(|)、按位取反(~) 1.2、移位操作:左移(<<)、右移(>>) 2 位操作宏函数 2.1 bit n位置位,即bit n 置1其他位保持不变(从bit 0开始,如 0x01 bit 0为1)#define SET_NTH_BIT(x,n) (x | (1U << n))其中,1U 表示无符号整数1,左移n为得到bit n位为1,即掩码原创 2016-12-16 19:54:11 · 939 阅读 · 0 评论 -
实现两个整数交换的宏程序
#define SWAP(x,y) (x ^= y ^= x ^= y)解释:x,y交换实际上只需要交换x,y对应二进制位不同的位Step1、x=x ^y 获得掩码,所有不同的二进制位Step2、Step1获得的掩码与y异或,x,y原来相同的位不变,不同的位取反,(0与其他数异或没有影响,1与其他数异或取反),这样操作之后y就是原来的xy ^= x ^= yStep3、此时的y便原创 2016-12-29 10:52:14 · 448 阅读 · 0 评论
分享