So verwenden Sie es
- Tragen Sie den ersten Wert in Erster Wert (A) ein und den zweiten in Zweiter Wert (B), wenn die Operation ihn braucht.
- Wählen Sie das Zahlensystem, in dem die Werte eingegeben sind, und die Operation.
- Stellen Sie bei einer Verschiebung oder Rotation Verschieben oder rotieren um ein. Wählen Sie die Breite, die das Ergebnis haben soll.
- Lesen Sie das Ergebnis unter Hexadezimal, Dezimal (ohne Vorzeichen) und Binär ab sowie die Tabelle Bit für Bit darunter.
Die logischen Operationen
0xCA UND 0x0F = 11001010 UND 00001111 = 00001010 = 0x0A
- UND ergibt 1 nur dort, wo beide Bits 1 sind. Damit behalten Sie einige Bits und löschen die anderen.
- ODER ergibt 1, wo mindestens eines der Bits 1 ist. Damit setzen Sie Bits.
- XOR ergibt 1, wo genau eines der Bits 1 ist. Wendet man dasselbe XOR zweimal an, erhält man den ursprünglichen Wert zurück.
- NAND und NOR sind UND und ODER, gefolgt von NICHT. NICHT kehrt jedes Bit innerhalb der Breite um.
Verschiebungen und Rotationen
Eine Linksverschiebung schiebt jedes Bit eine Stelle nach oben und füllt unten mit Nullen auf. Ein Bit, das oben herausfällt, geht verloren. Eine logische Rechtsverschiebung schiebt jedes Bit nach unten und füllt oben mit Nullen. Eine arithmetische Rechtsverschiebung füllt oben mit Kopien des Vorzeichenbits, daher bleibt ein negativer Wert negativ. Bei einer Rotation kommt ein Bit, das an einem Ende herausfällt, am anderen Ende wieder hinein.
0xCA um 1 nach links = 10010100 (0x94); logisch nach rechts = 01100101 (0x65); arithmetisch nach rechts = 11100101 (0xE5); Rotation nach links = 10010101 (0x95)
Die Breite ist entscheidend
NICHT von null ist 0xFF bei 8 Bit, 0xFFFF bei 16 Bit und 0xFFFFFFFF bei 32 Bit, weil das Ergebnis so viele Bits hat wie die Breite. Ein Wert, der mehr Bits braucht als die Breite, wird nicht vollständig gespeichert: Der Rechner verwendet seine niedrigsten Bits und zeigt die Zeile Prüfung rot an.
Was der Rechner nicht abdeckt
- Programmiersprachen unterscheiden sich. Die bitweisen Operatoren von JavaScript wandeln ihre Operanden in 32-Bit-Ganzzahlen um und können daher keine 64-Bit-Ergebnisse zeigen. Dieser Rechner zeigt die Bits der gewählten Breite, mit BigInt, damit 64-Bit-Werte exakt bleiben.
- Bitfelder in einer Struktur, Bytereihenfolge und Dateiformate: Dafür siehe den Hex-Viewer.
Rechenbeispiel: 0xCA UND 0x0F in 8 Bit
Geben Sie CA als ersten Wert und 0F als zweiten ein, mit dem Zahlensystem auf Hexadezimal und der Breite auf 8 Bit. Das Ergebnis ist 00001010, das ist 0x0A hexadezimal und 10 dezimal. Übrig bleiben nur die zwei Bits, die in beiden Werten an derselben Stelle gesetzt sind.
| Ergebnis | Wert |
|---|---|
| Hexadezimal | 0x0A |
| Binär | 0b0000 1010 |
| Dezimal (ohne Vorzeichen) | 10 |
Häufig gestellte Fragen
Was ist der Unterschied zwischen einer logischen und einer arithmetischen Rechtsverschiebung?
Beide schieben die Bits um eine Stelle nach unten. Die logische Verschiebung füllt oben mit Nullen und behandelt den Wert daher als Zahl ohne Vorzeichen. Die arithmetische Verschiebung kopiert das Vorzeichenbit, sodass ein negativer Wert negativ bleibt: 0xCA ist −54, um 1 nach rechts verschoben ist es −27 (0xE5).
Warum liefert NICHT bei verschiedenen Breiten ein anderes Ergebnis?
NICHT kehrt jedes Bit der Breite um. Null ist 00000000 bei 8 Bit, daher ergibt NICHT 11111111 (0xFF). Bei 32 Bit hat null 32 Bit, daher ergibt NICHT 0xFFFFFFFF. Dieselbe Zahl hat in jeder Breite eine andere Anzahl von Bits.
Was macht eine Rotation, was eine Verschiebung nicht macht?
Eine Verschiebung verliert die Bits, die an einem Ende herausfallen. Eine Rotation setzt sie am anderen Ende wieder ein, sodass kein Bit verloren geht. Eine Rotation um die Breite ergibt wieder denselben Wert.
Warum wird ein Wert markiert, der nicht in die Breite passt?
Ein Wert, der mehr Bits braucht als die Breite, lässt sich nicht vollständig speichern. Der Rechner verwendet die niedrigsten Bits, daher wird 300 in 8 Bit zu 44. Die Zeile Prüfung sagt, was passiert ist, damit das Ergebnis nicht als der eingegebene Wert gelesen wird.
Kann ich Binärzahlen mit Leerzeichen eingeben?
Ja. Leerzeichen und Unterstriche werden ignoriert, daher sind 1100 1010 und 11001010 derselbe Wert. Hexadezimal darf das Präfix 0x haben, Binär das Präfix 0b.
Quellen
Zahlen und Text zuletzt geprüft: Dienstag, 10. November 2026.