布尔运算 逻辑运算 移位运算

1:四种布尔运算&,|,^,~

&:相当于&&,表示”与”运算。一假则假。
|:相当于||,表示”或”运算。一真则真。
^:表示”抑或”,相同状态则为假。
~:表示”非”,相当于!。

运算结果
a[01101001]
b[01010101]
~a[10010110]
~b[10101010]
a&b[01000001]
a|b[01111101]
a^b[00111100]

布尔运算的简洁之处在于我们用来表示状态。而且有关这几种运算cc++都是支持的。

2:布尔运算和逻辑运算之间的关系

布尔运算逻辑运算
~!
&&&
|||

3:移位操作

左移:x << k 表示将x左移k位,对于原来的x,低位补k个0,相应的高位自动溢出。

右移

  • 逻辑右移:低位溢出,高位补0
  • 算术右移:低位溢出,高位补最高有效位,即x(n-1)。

看个例子:

操作
x[11100011]
x<<4[00110000]
x>>4(逻辑)[00001110]
x>>4(算术)[11111110]

注意:

c语言中的右移一般都是算术右移,即补最高位。

java中>>是算术右移,>>>是逻辑右移。

posted on 2016-02-26 15:35  杨博东的博客  阅读(96)  评论(0编辑  收藏  举报

导航