解释一下,二进制代码不工作(java)

解释一下,二进制代码不工作(java),java,Java,我不明白为什么4 | 6给了我答案6。它应该是2。 4=100和6=110 public class ex1 { public static void main (String [] args) { int a = (4 | 6); System.out.println(a); } } 根据您期望的输出,它正在执行按位or运算——我相信您想要一个xor。像 int a = (4 ^ 6);

我不明白为什么
4 | 6
给了我答案
6
。它应该是
2
4=100
6=110

public class ex1 {
        public static void main (String [] args)
        {
            int a = (4 | 6);
            System.out.println(a);
        }
    }

根据您期望的输出,它正在执行按位or运算——我相信您想要一个xor。像

int a = (4 ^ 6);
输出

2
你是在混合OR(|)和XOR(^)?