XOR sagt, ob jedes Bit anders ist.
1 XOR 1 = 0
1 XOR 0 = 1
0 XOR 1 = 1
0 XOR 0 = 0
Mit anderen Worten "entweder, aber nicht beide"
0011 XOR 0101 = 0110
BITWISE INCLUSIVE ODER (|) bedeutet normale oder Operation,
BITWISEE EXKLUSIV ODER (^) bedeutet xor Operation
Der dritte ist eine XOR-Operation (Xclusive-OR)
Es besagt, ODER sollte ausschließlich sein: wo ähnlich wird Falsch (0) und unähnlich wird wahr sein (1).
Also wäre 12 in binär 1100
Also, führe hier eine bitweise XOR durch:
%Vor%Jede Spalte hat dieselbe Ziffer, entweder beide sind 1 oder beide sind 0 XOR sagt, beide sollten anders sein. Daher alle Nullen
Exklusiv oder ( XOR
) ist definiert als:
Das heißt, es ist 0
, wenn zwei Werte gleich sind, 1
, wenn sie unterschiedlich sind.
Wenn also zwei Bitmuster exakt gleich sind, wird jedes XORed-Bit auf 0
ausgewertet, da jedes Bit entweder 1
in beiden Positionen oder 0
in beiden Positionen hat.
Da die von Ihnen verwendeten Operatoren bitweise Operatoren sind, werden die Operanden konvertiert in Bits und dann wirkt der Operator auf sie.
hier 12 - & gt; 1100 in binären Ziffern (Bits)
und die Operationen der Operatoren & amp; (AND), | (OR) und ^ (Exklusiv OR oder XOR) sind wie folgt:
Ein B & amp; | ^
0 0 0 0 0
0 1 0 1 1
1 0 0 1 1
1 1 1 1 0
Wenn Sie also 12 ^ 12 ausführen:
A = 1100
B = 1100
A B ^
1 1 0
1 1 0
0 0 0
0 0 0
und 0000 - & gt; 0 im Dezimalsystem
daher erhalten Sie 12 ^ 12 = 0 in Ihrer dritten Antwort
Tags und Links java operators bitwise-operators