# Bitoperationen visualisieren: NOT, AND, OR, XOR und Shifts

> Bitops interaktiv: spaltenweise NOT, AND, OR, XOR und Bit-Shifts auf zwei n-Bit-Mustern. Mit Wahrheits-Pills pro Spalte und Resultat-Bitmuster.

Adresse: https://marckimmel.de/informatik/zahlenkodierungen/bitops
English version: https://marckimmel.de/en/informatik/zahlenkodierungen/bitops.md

Stellenweise Verknüpfung von Bitmustern: NOT, AND, OR, XOR, Linksshift, Rechtsshift.

Bitweise C-Operatoren arbeiten stellenweise auf Bitmustern, ohne diese als Zahlen zu interpretieren; jede Bit-Position wird unabhängig von den anderen verknüpft. Die Negation ~x kippt jedes Bit und entspricht auf 2-Komplement-Codes ~x = −x − 1. Das bitweise Und x & y liefert an jeder Position eine 1, wenn beide Eingaben 1 sind, und eignet sich zum Löschen einzelner Bits per Maske (x & ~(1 > k schiebt um k Stellen nach rechts, ergänzt vorne Nullen (bei unsigned) oder das Vorzeichenbit (bei signed, implementation-defined) und schneidet hinten ab; er entspricht der ganzzahligen Division durch 2^k. Vorsicht beim Operator-Vorrang: & und | binden schwächer als ==, also gehört in Ausdrücken wie if ((x & MASK) == VAL) zwingend die Klammer um die Maskierung.

Bitweise Operatoren sind in der hardwarenahen Programmierung allgegenwärtig: bei Mikrocontroller-Registern (etwa Pins als Ausgang setzen via DDRB |= (1 << PB5)), bei Bitmasken und Flag-Sets, bei schneller Multiplikation und Division durch Zweierpotenzen, beim Hashing per XOR-Mixing und in Embedded Systems mit knappem Speicher. Auch in Performance-kritischem Code dienen sie als Branch-freie Alternative zu if-else, eine umfassende Sammlung an Tricks findet sich unter https://graphics.stanford.edu/~seander/bithacks.html.

## Weiter

- [Zahlenkodierungen](https://marckimmel.de/informatik/zahlenkodierungen.md)
