位操作1101&amp; (~0 <2)

时间:2017-12-13 18:06:51

标签: bit-manipulation

1011 & (~0 << 2) = ?

我认为1011 & 100等于0,但答案是1000。为什么会这样?

1 个答案:

答案 0 :(得分:0)

这取决于你的文字大小,但对于&#34;纯粹的&#34; (即,任意精度)数字,~0是您需要的1,因此~0 << 2实际上是...11100。这导致了预期的结果

...0001011
...1111100
----------
...0001000

如果您使用的是固定大小的4位字,那么

1011
1100  (~0 == 1111)
----
1000