位操作

来源:互联网 发布:帽子品牌知乎 编辑:程序博客网 时间:2024/06/16 20:07

位操作一定要操作无符号数

unsigned int mask = 0x80000000;// 掩码

 

右移时用符号位来补位。(无符号号时用0补位)

左移时用0来补位。

 

不引入第三方变量时交换ab的值

 

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
原创粉丝点击