实际上“&〜”是如何工作的?

时间:2014-01-22 09:34:29

标签: bash shell unix binary bit-manipulation

我想知道它在Unix中是如何工作的:

user$ i=5
user$ echo $((i &~ 1)) 

4

括号内发生了什么?

2 个答案:

答案 0 :(得分:4)

&~都是按位运算符。

  • ~1是一致的按位否定,产生-2
  • 5 & -2是二进制按位AND操作,产生4

答案 1 :(得分:1)

好的,明白了

二元 5 101

二元 1 001 - > ~1 110

101 & 110 - > 100 ,小数 4