有人可以解释为什么以下程序打印输出为 7
公共类测试{
public static void main(String []args){
int i =1;
int j =2;
int k= 5;
System.out.println(i|j|k);
}
}
我想知道在 java int 中 OR 操作是如何发生的。
那是Java 中的按位或运算符。为简单起见,最后 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