Wenn ich XOR 2 Zahlen, bekomme ich nur identische Ergebnisse, wenn die Zahlen gleich sind?

StackOverflow https://stackoverflow.com/questions/2481587

  •  21-09-2019
  •  | 
  •  

Frage

Zum Beispiel nehme ich an x XOR y = y XOR x = z haben. Ist es möglich, so etwas wie a XOR b = z zu haben?

War es hilfreich?

Lösung

Ja.

z = y weil x ^ y ^ x = y

So ist es durchaus möglich, dass eine Kombination a ^ b = y = z.

In der Tat, für jeden a existiert eine b so dass a ^ b = z. Zu berechnen, dass, b = z ^ a.

Beachten Sie, dass XOR kommutativ . Dies bedeutet, dass x ^ y = y ^ x

Andere Tipps

Kurze Antwort: Ja

Lange Antwort: XOR ist eine binäre Operation, es auf die einzelnen Bits funktioniert und es ist kommutativ.

Es hat die Wahrheitstabelle:

A B  Q
0 0  0
0 1  1
1 0  1
1 1  0

Da die Zahl aus diesen Bits gemacht wird, dann wird das Ergebnis das gleiche sein, solange für jede Bit-Position der zwei Bits das gleiche Ergebnis. Zum Beispiel nimmt die zwei Acht-Bit-Nummern 113 und 42

113 = 01110001
42  = 00101010
XOR = 01011011 = 91

aber wenn ich das vierte Bit von der Swap-links ich

97  = 01100001
58  = 00111010
XOR = 01011011 = 91

Also ja wieder ...

Ja. Als entartet Beweis, eine Zahl mit sich selbst XOR-Verknüpfung ergibt immer 0.

XOR, wird return true, wenn beide Parameter unterschiedlich sind, unter der Annahme, dass die Parameter ohnehin Boolesche Werte sind. Dies unterscheidet sich von oder, was wahr zurück, wenn entweder Parameter wahr ist, und NOR, die nur wahr zurück, wenn beide falsch sind.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top