位操作
来源:互联网 发布:帽子品牌知乎 编辑:程序博客网 时间:2024/06/16 20:07
位操作一定要操作无符号数
unsigned int mask = 0x80000000;// 掩码
右移时用符号位来补位。(无符号号时用0补位)
左移时用0来补位。
不引入第三方变量时交换a和b的值
a = a ^ b; a = a + b;
b = a ^ b; b = a - b;
a = a ^ b; a = a - b;
if ( 5 == num) 判断时常把常量放左边。
如何生成一个m~n位为1的掩码?
mask = ((unsigned int)(~0) >> (32 - (n - m + 1)) << m)
位运算的优点?
位运算的效率高
0 0