?
?
大致分为其中:按位或(I) 按位与( &) ? ?按位异或(^) ? 按位取反(~) ?左移(<<) ?右移(>>) ? 无符号右移(>>>)
?
?
按位或(I)
?
有1则为1,无1则为0
按位与( &)?
?
?
?两个数都为1,则为1,否则为0
?
按位异或(^)
?
相同位不同则为1,相同则为0。
?
?
按位取反(~)
?
为单目运算,是针对数字本身进行按位取反,1变0,0变1
?
?
左移(<<)
?
是将一个二进制数,全部向左平移X位
?
eg: 将0X23(十六进制数)左移两位
?
?0X23 = 0010 0011 ?左移两位就是 ?1000 1100 。(左移之后右边空出来的位置,全部补零,左边移出的部分忽略)
?
右移(>>)??
?
和上面的左移刚好相反,(规则是向右移动X位,右边移出的部分忽略,左边空出来的位置,全部补零)
?
?
?
无符号右移(>>>)
?
?
?无符号右移,忽略符号位,空位都以0补齐
?
?
原文:http://henu-zyy.iteye.com/blog/2256936