有人可以解释为什么以下程序打印输出为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操作。
答案 0 :(得分:11)
那是bitwise-OR operator in Java。最后8位为简单起见:
1 = 00000001
2 = 00000010
5 = 00000101
============
7 = 00000111 // 1 where the corresponding bit is set in any of the above numbers
答案 1 :(得分:1)
这些值具有位值:
1 -> 0001
2 -> 0010
5 -> 0101
当你按位或者他们一起得到你的时候:
0111
是7