Binäre exklusiv ODER Verknüpfung (XOR)
Exklusiv ODER Verknüpfen der Bits zweier ganzer Zahlen
Bitweise XOR Rechner
Bitweise XOR-Verknüpfung (Exklusiv ODER)
Mit dieser Funktion werden die Bits zweier ganzer Zahlen binär exklusiv ODER verknüpft. Das Ergebnisbit ist 1, wenn die Eingangsbits unterschiedlich sind.
XOR-Verknüpfung Visualisierung
Beispiel: CC XOR 82 = 4E
XOR Wahrheitstabelle
XOR-Eigenschaften
- Ergebnis ist 1 nur wenn Bits unterschiedlich sind
- Ergebnis ist 0 wenn Bits gleich sind (0,0 oder 1,1)
- Kommutativ: A ⊕ B = B ⊕ A
- Selbstinvers: A ⊕ A = 0, A ⊕ 0 = A
Mathematische Grundlagen der bitweisen XOR-Verknüpfung
Die bitweise XOR-Verknüpfung (exklusives ODER) wird bitweise auf die entsprechenden Positionen angewendet:
Mathematische Definition
Für jede Bit-Position i wird die exklusive Disjunktion angewendet
Bitweise Anwendung
Gleichzeitige XOR-Verknüpfung aller entsprechenden Bit-Paare
XOR-Verknüpfung Formeln und Beispiele
Allgemeine XOR-Formel
Bitweise exklusive ODER-Verknüpfung zweier Binärzahlen A und B
Schritt-für-Schritt Beispiel: CC XOR 82
1. Zahl A: CC₁₆ = 204₁₀ = 11001100₂
2. Zahl B: 82₁₆ = 130₁₀ = 10000010₂
Position: 76543210 (von rechts)
XOR-Verknüpfung:
Position 7: 1 ⊕ 1 = 0 (gleich → 0)
Position 6: 1 ⊕ 0 = 1 (unterschiedlich → 1)
Position 5: 0 ⊕ 0 = 0 (gleich → 0)
Position 4: 0 ⊕ 0 = 0 (gleich → 0)
Position 3: 1 ⊕ 0 = 1 (unterschiedlich → 1)
Position 2: 1 ⊕ 0 = 1 (unterschiedlich → 1)
Position 1: 0 ⊕ 1 = 1 (unterschiedlich → 1)
Position 0: 0 ⊕ 0 = 0 (gleich → 0)
Ergebnis: 01001110₂ = 78₁₀ = 4E₁₆
Weitere XOR-Beispiele
A: 11111111₂ (255)
B: 00000000₂ (0)
Ergebnis: 11111111₂ (255)
A: 10101010₂ (170)
B: 01010101₂ (85)
Ergebnis: 11111111₂ (255)
Mathematische Eigenschaften der XOR-Verknüpfung
\[A \oplus B = B \oplus A\]
Reihenfolge der Operanden ist beliebig
\[(A \oplus B) \oplus C = A \oplus (B \oplus C)\]
Klammerung ist beliebig
\[A \oplus 0 = A\]
XOR mit 0 ändert nichts
\[A \oplus A = 0\]
XOR mit sich selbst = 0
XOR-Referenz
Standard-Beispiel
XOR Wahrheitstabelle
Bitweise Operatoren
^: bitweise XOR
&: bitweise UND
|: bitweise ODER
~: bitweise NOT
<<, >>: Bit-Verschiebung
Häufige Anwendungen
Bits flippen: x ^ mask
Verschlüsselung: data ^ key
Checksummen: crc ^ value
Toggle-Operation: flag ^ toggle
Bitweise XOR-Verknüpfung - Detaillierte Beschreibung
XOR-Verknüpfung Grundlagen
Die bitweise exklusive ODER, oder kurz XOR Funktion, wird auf die Bitfolgen zweier ganzer Zahlen angewendet. Es wird die logische XOR-Operation auf jedem Paar korrespondierender Bits durchführt. Das Ergebnisbit ist 1, falls die zwei Bits unterschiedlich sind.
• 0 ⊕ 0 = 0 (beide Bits gleich → 0)
• 0 ⊕ 1 = 1 (Bits unterschiedlich → 1)
• 1 ⊕ 0 = 1 (Bits unterschiedlich → 1)
• 1 ⊕ 1 = 0 (beide Bits gleich → 0)
Verarbeitungslogik
Das Ergebnisbit ist 0, falls sie gleich sind. Die XOR-Verknüpfung ist besonders nützlich für Verschlüsselung, Fehlerkorrektur und das Flippen bestimmter Bits.
Verarbeitungsschritte
1. Beide Zahlen in Binärdarstellung konvertieren
2. Bit für Bit von rechts nach links verarbeiten
3. XOR-Verknüpfung auf entsprechende Bit-Paare anwenden
4. Ergebnis in gewünschtes Format konvertieren
Praktische Anwendungen
Bitweise XOR-Operationen sind essentiell für Kryptografie, Datenkompression und Fehlerkorrektur. Sie ermöglichen das gezielte Flippen von Bits, einfache Verschlüsselung und effiziente Implementierung von Checksummen.
• Verschlüsselung und Entschlüsselung
• Fehlerkorrektur-Codes
• Checksummen und Hash-Funktionen
• Bit-Toggle-Operationen
Besondere Eigenschaften
Die XOR-Verknüpfung hat einzigartige mathematische Eigenschaften: Sie ist selbstinvers (A ⊕ A = 0) und hat 0 als neutrales Element. Diese Eigenschaften machen XOR ideal für reversible Operationen.
Besondere Eigenschaften
- Kommutativ: A ⊕ B = B ⊕ A
- Assoziativ: (A ⊕ B) ⊕ C = A ⊕ (B ⊕ C)
- Neutrales Element: A ⊕ 0 = A
- Selbstinvers: A ⊕ A = 0
Praktische XOR-Verknüpfung Beispiele
Einfache Verschlüsselung
Klartext: 01001000₂ (H)
Schlüssel: 10101010₂ (AA)
Verschlüsselt: 11100010₂
Entschlüsselt: 11100010₂ ⊕ 10101010₂ = 01001000₂
Bit-Flippen
Szenario: Bestimmte Bits invertieren
Daten: 11110000₂
Flip-Maske: 00001111₂
Ergebnis: 11111111₂ (alle Bits gesetzt)
Checksumme
Szenario: Einfache Fehlerprüfung
Byte 1: 10110010₂
Byte 2: 01101100₂
Checksum: 11011110₂ (XOR-Summe)
Programmier-Tipps
- Verschlüsselung: encrypted = data ^ key
- Bit-Toggle: value ^= (1 << bit_pos)
- Swap ohne Temp: a^=b; b^=a; a^=b;
- Checksumme: checksum ^= byte
- Differenz finden: diff = old_val ^ new_val
- Performance: XOR ist extrem schnell