java - 按位运算符的负操作数如何在 Java 中工作?

标签 java bitwise-operators

-4 & -5 = -8 // How?
-4 & 5 = 4 // How?

我需要解释如何达到上述结果。我用正整数求解没有困难。

最佳答案

只需将整数转换为它们的二进制表示(对于负整数,使用 two's complement )并运行按位与:

-4 11111..1100 &
-5 11111..1011

-8 11111..1000


-4 11111..1100 &
 5 00000..0101

 4 00000..0100

关于java - 按位运算符的负操作数如何在 Java 中工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41344156/

相关文章:

c# - 我(认为)我想使用 BItWise 运算符来检查 useraccountcontrol 属性!

java - 如何在 IntelliJ 中测试 java 卡小程序

java - 线程 "main"java.lang.NumberFormatException : For input string: "3291105000" 中的异常

c - 是否可以对字符数组进行位掩码

javascript - 为什么 asm.js 会降低性能?

c++ - (n&1) 和 n&1 之间的区别

java - JMeter - 无法在 JSR223 脚本中使用 Java 流

java - Jax-RS 是与 Web 服务通信的正确解决方案吗?

java - 透明 JButton

c# - OR(|)、XOR(^)、AND(&) 重载