Java 负数位运算符
为什么Java 负数位运算符,java,bitwise-operators,Java,Bitwise Operators,为什么 -23&30 = 8 5&-3 = 5 15&-1 = 15 我明白&用正数,但由于某种原因,当抛出负数时,我不明白答案是如何推导出来的 你应该阅读2的补码法,用二进制表示负数 例如: 5 == 00000000 00000000 00000000 00000101 & -3 == 11111111 11111111 11111111 11111101 = ----------------------------------- 5 ==
-23&30 = 8
5&-3 = 5
15&-1 = 15
我明白&用正数,但由于某种原因,当抛出负数时,我不明白答案是如何推导出来的 你应该阅读2的补码法,用二进制表示负数 例如:
5 == 00000000 00000000 00000000 00000101
&
-3 == 11111111 11111111 11111111 11111101
= -----------------------------------
5 == 00000000 00000000 00000000 00000101
你应该阅读2的补码法,用二进制表示负数 例如:
5 == 00000000 00000000 00000000 00000101
&
-3 == 11111111 11111111 11111111 11111101
= -----------------------------------
5 == 00000000 00000000 00000000 00000101
你知道在Java中负数是如何用二进制表示的吗?(即2的补码)负数由它们的2的补码表示。您期望得到什么结果?为什么?用二进制写这些数字,然后自己做and运算。你会明白的你知道在Java中负数是如何用二进制表示的吗?(即2的补码)负数由它们的2的补码表示。您期望得到什么结果?为什么?用二进制写这些数字,然后自己做and运算。你会明白的