有人可以解释为什么以下程序打印输出为 7
公开课测试{
public static void main(String []args){
int i =1;
int j =2;
int k= 5;
System.out.println(i|j|k);
}
}
我想知道 OR 操作在 java int 中是如何发生的。
这是 Java 中的按位 OR 运算符。 为简单起见,最后 8 位:
1 = 00000001
2 = 00000010
5 = 00000101
============
7 = 00000111 // 1 where the corresponding bit is set in any of the above numbers
这些值具有位值:
1 -> 0001
2 -> 0010
5 -> 0101
当你按位或他们瑜伽士时,你会得到:
0111
即 7