java中逻辑运算中 非布尔值运算的结果分析
如下图所示
定义两个整数型变量a和b(为了验证方便我们采用最小单位的byte型).
打印输出 a&b
返回结果为3.
这里实际上是系统把两个整型变量转换到二进制然后逐位做与的逻辑运算所得结果.
3和7的 二进制分别为
3—> 0000 0011
7—> 0000 0111
逐位做&运算 0000 0011
在转换为10进制就是3
晋级型示例:
-3的二进制为 1000 0011 原码
1111 1100 反码
1111 1101 补码
7的二进制为 0000 0111
逐位做&运算 0000 0101
转换为10进制 如图执行结果5