1011 & (~0 << 2) = ?
我认为1011 & 100
等于0
,但答案是1000
。为什么会这样?
答案 0 :(得分:0)
这取决于你的文字大小,但对于&#34;纯粹的&#34; (即,任意精度)数字,~0
是您需要的1,因此~0 << 2
实际上是...11100
。这导致了预期的结果
...0001011
...1111100
----------
...0001000
如果您使用的是固定大小的4位字,那么
1011
1100 (~0 == 1111)
----
1000