Bitmaskierung in C ++

Bitmaskierung in C ++
Bitmaskierung ist ein Prozess, der verwendet wird, um auf ein bestimmtes Bit in den Datenbytes zugreifen zu können. Dieses Phänomen wird verwendet, wenn Sie den Iterationsprozess durchführen. Eine Bitmaske soll eine Maske einer Abfolge von n -Bits sein, die verwendet werden, um einen Teil unserer Sammlung zu codieren. Diese Elemente der Maske können festgelegt oder nicht sein. Es gibt bitweise Operatoren zum Erstellen oder Umschalten der Bits. Diese Operatoren werden verwendet, um das Bit- oder umgekehrt-Versa einzuschalten.

Um die C ++ - Programme bei der Ausführung auf Linux auszuführen, müssen Sie die Ubuntu -Datei konfigurieren und im Auslaufstatus. Darüber hinaus muss der Benutzer über die C ++ - Sprache informiert werden. C ++ - Quellcodes sind im Texteditor geschrieben. Verwenden Sie für den Ausführungsprozess das Ubuntu -Terminal.

Eine Bitmaske soll auch eine einfache Maske sein, die eine Abfolge von N -Bits ist. Es codiert die Untergruppe der Sammlung. Das Element 'I' ist in der Teilmenge des 'ith' -Bits vorhanden in der Maske festgelegt. Für den Satz von Elementen mit n -ten Bytes besteht die Chancen, dass eine 2N -Maske einer Untergruppe entspricht.

Warum Bitmasking verwendet wird

Der Bitmasking -Prozess speichert verschiedene Werte in denselben Zahlen festgelegt. Betrachten Sie beispielsweise einen Satz, in dem S = 1, 2, 5, 8, 6 und 7. Um den Satz von 2, 5, 7 darzustellen, können wir jede Bitmaske 010110 verwenden.

Die von den Bitmaps ausgeführten Operationen sind wie folgt:

Stellen Sie das "ith" -Bit ein
Dies geschieht durch die Betrachtung eines Wertes 'x'. Wir können x | = x ausführen<

Das "ith" -Bit verunreinigt
Um das Bit zu verunreinigen, muss es ein Bit geben, das bereits vom Benutzer oder Standard festgelegt ist. Daher kann dieses bestimmte Stück leicht nicht festgelegt werden. Dafür verwenden wir die Bediener x & = ~ (x <

Ein wenig umschalten
Dies ist ein Prozess, bei dem wir einen Bediener x^= x verwenden<

In einfachen Worten, wenn Sie ein bisschen festlegen möchten, bedeutet dies, dass wenn ich-das Bit ist, also auf 1 gesetzt ist. Und wenn es bereits 1 ist, lassen Sie es ohne Änderung. In ähnlicher Weise sollte es im Fall einer Bit-Clearance, wenn i-Th-Bit 1 ist, auf 0 gelöscht werden. Und wenn es jetzt schon 0 ist, ändern Sie es nicht; Lassen Sie es so, wie es bereits ist. Wo immer sie ein bisschen umschalten, wenn das I-Th-Bit 1 ist, ändern Sie dieses Bit jetzt auf 0. Und wenn es bereits 0 ist, müssen Sie jetzt wieder auf 1 wechseln.

Beispiel für Bitmaskierung

Ein grundlegendes Konzept der Bitmaskierung wird hier vor Gericht gestellt, um die Arbeit der Bitmaskierung zu erklären. Dieses Beispiel beinhaltet alle drei Operationen von Bitmaskierung, die oben in diesem Leitfaden beschrieben werden.

Beginnen Sie nun mit dem Eingangs- und Ausgabestrom, um das Lesen und Schreiben in die Datei zu beinhalten.

#enthalten

Wir sind zuerst zum Hauptprogramm des Quellcode gesprungen, damit der Code einfacher und gut organisiert wird. Darüber hinaus wird es für die neuen im Bereich der Programmierung verständnisvoller werden. Dieses ganze Programm ist ein Benutzerinteraktives System. Dies muss in jeder Phase des Laufsystems eingesetzt werden. Der erste Schritt im Hauptprogramm besteht darin, dass wir nach der Nummer fragen, auf welche Vorgänge vom Benutzer angewendet werden. Vor der Frage wird eine Variable festgelegt, um den vom Benutzer eingegebenen Wert zu akzeptieren.

Wenn der Benutzer die Nummer eingibt. Diese Schleife stellt die Verfügbarkeit von Zahlen jedes Mal sicher, wenn das Programm ausgeführt wird. Wenn die Nummer eingegeben wird, zeigt das System dem Benutzer 3 Optionen an. Und am Ende wird ein Benutzer gebeten, einen von ihnen auszuwählen. Um durch all diese Vorgänge zu navigieren, müssen wir eine solche Logik haben, die nur eine einzige Option auswählt, die der Benutzer eingibt. Während alle Operationen zu diesem Zeitpunkt untätig bleiben.

Also verwenden wir hier eine Switch -Anweisung. Wenn der Benutzer seine Wahl eingibt, wird dies in einer Variablen gespeichert, und dann in dieser Variablen führen wir eine Switch -Anweisung aus. Jede Zeile der Switch -Anweisung enthält einen Funktionsaufruf jeder Option. Unabhängig von der Option, die der Benutzer auswählt, führt das System dieses bestimmte Programm für die Option aus. Wir verwenden eine Break -Anweisung mit jeder Option der Switch -Anweisung. Denn wenn eine Option abgeschlossen ist, müssen Sie das Programm automatisch von der weiteren Ausführung beenden, bis es aufgefordert wird, das Programm auszuführen.

Betrachten Sie nun die erste Option; In der ersten Funktion geht es darum, eine Maske festzulegen. Es enthält die Variable, um die vom Benutzer eingegebene Nummer zu speichern. Diese Zahl wird einem Stück arithmetischer Operation unterzogen, um den Wert vor und dann nach dem Bitwert zu liefern.

X | x <

Wenn dieser Vorgang vollständig ausgeführt wird, wird der Wert nach dem Durchlaufen der Operationen erneut verarbeitet, und dann wird der Wert angezeigt.

Die nächste Option besteht darin, die bereits erstellte oder die neue Maske zu vereinen. Dies wird auch den ersten und der nächste wichtigste Wert des Bits löschen.

X & = ~ (x <

Wir haben jede Funktion getrennt erklärt, um das Konzept für den Benutzer klar zu machen. Dies liefert auch den vorherigen und den nächsten Wert der Bitmaske.

X^= x <

Speichern Sie nach dem Schreiben des Codes ihn in der Datei und speichern Sie die Datei mit einer Erweiterung von '.C'. Um den Code auszuführen, benötigen wir einen "G ++" -Kompiler, der den Code kompiliert. 'Bit. c 'ist der Name der Datei.

$ g ++ -o Bit Bit.C
$./Bit

Wenn wir den Code ausführen, befindet sich das Steuerelement im Hauptprogramm, wenn Sie die Option der Funktion auswählen, und wird gemäß der Funktion der spezifische Funktionsaufruf erstellt, und das Steuerelement wird an diese bestimmte Funktion übergeben. Zum Beispiel geben wir zuerst gemäß dem Bild die Nummer ein und wählen dann die Option aus.

Wir werden alle drei Optionszeilen auswählen. Erstens haben wir die erste Option ausgewählt, um die Bitmaske festzulegen. Entsprechend der Funktion, etwas vor und nachdem das aktuelle Bit nach dem Zufallsprinzip angezeigt wurde, wenn die Ausführung für die Funktion abgeschlossen ist.

Wieder werden die Optionen angezeigt. Jetzt wollen wir die "3" -Position abschließen. Hier wird der Wert noch einmal vor und nach dem Löschen angezeigt.

Wenn wir jetzt die Optionsliste sehen, wählen Sie die letzte Option, die Option "Umschalten". Geben Sie das Bit ein, das Sie umschalten möchten. Der vorherige Umschalter und dann werden die After -Toggle -Werte angezeigt.

Dieser Vorgang wird fortgesetzt, bis Sie die Werte der Optionen weiter eingeben. Wenn Sie das System beenden möchten, drücken Sie 'Strg + C'.

Abschluss

Der Bitmaskierungsprozess ist für die Iterationsprozesse günstig. Wir haben ein kurzes Beispiel verwendet, um den Einstellungsprozess zu erläutern, die Maske abzubauen und das Bit umzuschalten. Wir können auch das oben genannte Beispiel entsprechend unseren Programmanforderungen ändern. Wir hoffen, dieser Artikel wird Ihnen helfen, den Maskierungsprozess von Bits zu verstehen.