11
public class Operators {

    public static void main(String[] args) {        
        int a = 12;

    System.out.println("Bitwise AND:"+(12&12));
    System.out.println("Bitwise inclusive OR:"+(12|12));
    System.out.println("Bitwise exclusive OR:"+(12^12));

    }
}

OUTPUT:

Bitwise AND:12
Bitwise inclusive OR:12
Bitwise exclusive OR:0

最初の 2 つは理解できますが、3 番目は理解できません。

4

4 に答える 4

20

XOR は、各ビットが異なるかどうかを示します。

1 XOR 1 = 0
1 XOR 0 = 1
0 XOR 1 = 1
0 XOR 0 = 0

言い換えれば、「両方ではなくどちらか」

0011 XOR 0101 = 0110

于 2013-05-20T04:51:47.823 に答える
10

BITWISE INCLUSIVE OR (|) は通常または操作を意味し、

BITWISEE ExCLUSIVE OR (^) はxor演算を意味します

于 2013-12-26T05:07:25.143 に答える
3

3 つ目は XOR 演算 (排他的 OR) です。

OR は排他的である必要があります。ここで、似ている場合は False(0) になり、似ていない場合は True(1) になります。

したがって、バイナリの 12 は 1100 になります。

したがって、ここでビットごとの XOR を実行します。

  1 1 0 0
  1 1 0 0
---------
  0 0 0 0
---------

すべての列には同じ数字があり、両方が 1 であるか、両方が 0 であるかのいずれかです。XOR は、両方が異なる必要があります。したがって、すべてゼロ

于 2013-05-20T04:56:03.533 に答える
1

排他的または ( XOR) は次のように定義されます。

0 ^ 0 = 0
1 ^ 0 = 1
0 ^ 1 = 1
1 ^ 1 = 0

つまり、02 つの値1が異なる場合は同じ場合です。

そのため、正確に等しい 2 つのビット パターンが与えられた場合、各ビットが両方の位置または両方の位置にあるため、XOR された0各ビットはと評価されます。10

于 2013-05-20T04:54:17.763 に答える