Sco*_* C. 2 php bit-manipulation
我今天一直试图找出按位运算符,有些事情对我来说仍然有点模糊.在我开始尝试组合|之前,一切都有意义 运算符〜,例如:number | ~number.在旁注中,我已经阅读了关于这两个补码的维基百科文章,并了解它的这一方面(我认为).
------------------------------------------
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
------------------------------------------
| 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | = 7
------------------------------------------
| 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | = ~5 or -6
------------------------------------------
Run Code Online (Sandbox Code Playgroud)
使用&运算符会7 & ~5产生预期的结果2,因为在两行中只设置了2列.我在这里得到的7 | ~5是输出-1.我希望它会是255,因为每列都有一个1或5,因为底行可能会计算0而不是1.但它不是那些,它是-1.
我用谷歌搜索了这个,直到我的大脑受伤,我找不到任何一篇解决这个问题的文章.有谁知道这里发生了什么?