C/C++ Bit-Operationen

Ein Probelm das häufig bei der hardwarenahen Programmierung auftritt ist das Setzen und Löschen von einzelnen Bits. Leider gibt es keine Standardmethoden dafür, so dass auf Bitoperatoren zurück gegriffen werden muss.

Bit setzen

um das Bit an stelle x zu setzen kann man folgende Funktion verwenden:

Zuerst wird die 1 auf die gewünschte Position geschoben und dann mit field verodert und wieder zurück in field geschrieben.

Bit löschen

Zuerst wird die 1 auf die gewünschte Position geschoben. Dann wird die ganze Zahl bitweise umgededreht. Aus jeder 1 wird eine 0 und alle andere Stellen werden zu einer 1. Dann wird dieser Wert bitweise mit field addiert und wider zurück in field geschrieben.

Bit umdrehen

Zunächst wird die 1 auf die gewünschte Position geschoben und dann ein bitweises exklusives oder durchgeführt. Das führt dazu, dass alle Stellen erhalten bleiben, bis auf die Stelle an der die 1 steht. Dieses Bit wandelt sich genau in das Gegenteil. Das Ergebnis wird widerum in field gespeichert.

Kommentar verfassen