logo

Bitweise Operatoren in C++

In C++ gibt es verschiedene Operatoren. Jeder Operator hat ein bestimmtes Symbol sowie eine auszuführende Operation. Wir haben verschiedene Kategorien von Operatoren in C++.

  1. Rechenzeichen
  2. Vergleichsoperatoren
  3. Logische Operatoren
  4. Zuweisungsoperatoren
  5. Bitweise Operatoren

In diesem Artikel lernen wir die bitweisen Operatoren in C++ kennen.



C++ Bitweise Operatoren

Bitweise Operatoren sind die Operatoren, die verwendet werden, um Operationen auf der Bitebene an den Ganzzahlen auszuführen. Bei der Durchführung dieser Operation werden ganze Zahlen als Folgen von Binärziffern betrachtet. In C++ gibt es verschiedene Arten von bitweisen Operatoren.

  1. Bitweises UND (&)
  2. Bitweises ODER (|)
  3. Bitweises XOR (^)
  4. Bitweise NICHT (~)
  5. Linksverschiebung (<<)
  6. Rechtsverschiebung (>>)

1. Bitweises UND (&)

Die bitweise UND-Verknüpfung wird zwischen zwei Ganzzahlen durchgeführt. Dabei wird jedes Bit an derselben Position verglichen und das Ergebnisbit wird nur gesetzt (1), wenn beide entsprechenden Bits gesetzt sind (1). Das Symbol, das zur Durchführung einer bitweisen UND-Operation verwendet wird, ist &.

Beispiel : Wir führen eine bitweise Operation zwischen den beiden Zahlen 7 und 4 durch. Im Binärformat wird 7 als 111 und 4 als 100 dargestellt.

Java-Verbindung MySQL
 1 1 1 & 1 0 0  ------  1 0 0>

Wie wir im obigen Beispiel sehen können, sind nur die Bits gesetzte Bits, deren entsprechende Bits (beide) gesetzt sind. Daher 7&4=4

2. Bitweises ODER (|)

Wenn eine bitweise ODER-Verknüpfung zwischen zwei Ganzzahlen durchgeführt wird, wird jedes Bit an derselben Position verglichen und das Ergebnisbit wird gesetzt (1), wenn eines der entsprechenden Bits gesetzt ist (1). Das Symbol, das zur Durchführung einer bitweisen ODER-Operation verwendet wird, ist |.

Beispiel: Wir führen eine bitweise ODER-Verknüpfung zwischen den beiden Zahlen 7 und 4 durch. Im Binärformat wird 7 als 111 und 4 als 100 dargestellt.

 1 1 1 | 1 0 0  ------  1 1 1>

Wie wir im obigen Beispiel sehen können, handelt es sich bei diesen Bits um gesetzte Bits, bei denen mindestens eines der entsprechenden Bits gesetzt ist. Daher 7|4=7.

3. Bitweises XOR (^)

Wenn eine bitweise XOR-Operation zwischen zwei Ganzzahlen durchgeführt wird, wird jedes Bit an derselben Position verglichen und das Ergebnisbit wird gesetzt (1), wenn sich eines der entsprechenden Bits unterscheidet, d. h. eines davon sollte 1 und das andere Null sein. Das Symbol, das zur Durchführung einer bitweisen XOR-Operation verwendet wird, ist ^.

Beispiel: Wir führen eine bitweise XOR-Operation zwischen den beiden Zahlen 7 und 4 durch. Im Binärformat wird 7 als 111 und 4 als 100 dargestellt.

 1 1 1 ^ 1 0 0  ------  0 1 1>

Wie wir im obigen Beispiel sehen können, sind diese Bits gesetzte Bits, deren entsprechende Bits unterschiedlich sind. Daher 7^4=3.

4.Bitweise NICHT (~)

Die bitweise NICHT-Operation wird für eine einzelne Zahl ausgeführt. Es ändert das aktuelle Bit in sein Komplement, d. h. wenn das aktuelle Bit 0 ist, ist es im Ergebnis 1, und wenn das aktuelle Bit 1 ist, wird es zu 0. Es wird durch das Symbol ~ gekennzeichnet.

Beispiel: Wir werden eine bitweise NICHT-Operation für Nummer 4 durchführen. Die Nummer 4 wird binär als 100 dargestellt.

~ 1 0 0  ------  0 1 1>

Wie wir im Ergebnis sehen können, sind die Bits, deren Anfangswert 1 war, im Ergebnis 0 und umgekehrt. Daher wird das bitweise NICHT von Nummer 4 3 sein.

5. Linksverschiebung (<<)

Dieser Operator verschiebt die Bits von Integer um eine bestimmte Zahl nach links (wie erwähnt). Diese Linksverschiebungsoperation entspricht der Multiplikation der Ganzzahl mit der Potenz 2 der verschobenen Positionen. Das Symbol, das zur Darstellung des Linksschiebeoperators verwendet wird, ist <<.

Beispiel: Stellen Sie sich vor, wir haben eine Ganzzahl 5 und werden ihre Bits um 2 Positionen nach links verschieben. Die Operation wird als x << 2 dargestellt.

Die Zahl 5 wird binär als 101 dargestellt. Wir werden am Anfang einige Nullen hinzufügen, um die Bits nach links zu verschieben. Daher wird es als 00000101 dargestellt. Jetzt verschieben wir alle Bits um zwei Positionen nach links und füllen die leeren Positionen mit 0. Daher wird es zu 00010100, was 20 entspricht. Wie bereits erwähnt, bedeutet das Verschieben der Zahl um zwei Bits nach links, dass sie mit 2 multipliziert wird, erhöht auf 2, was 4 ist. 5*4 = 20 zeigt die oben genannte Aussage.

6. Rechtsverschiebung (>>)

Dieser Operator verschiebt die Bits von Integer um eine bestimmte Zahl nach rechts (wie erwähnt). Diese Rechtsverschiebungsoperation entspricht der Division der Ganzzahl durch die Potenz zweier Anzahl der verschobenen Positionen. Das Symbol, das zur Darstellung des Linksumschaltoperators verwendet wird, ist>>.

Beispiel: Stellen Sie sich vor, wir haben eine ganze Zahl von 16 und verschieben ihre Bits um zwei Positionen nach rechts. Die Operation wird als x>> 2 dargestellt.

Die Zahl 16 wird binär als 10000 dargestellt. Wir werden am Anfang einige Nullen hinzufügen, um die Bits nach rechts zu verschieben. Daher wird es als 00010000 dargestellt. Jetzt verschieben wir alle Bits um zwei Positionen nach rechts und füllen die leeren Positionen mit 0. Daher wird es zu 00000100, was 4 ist. Wie bereits erwähnt, bedeutet das Verschieben der Zahl um zwei Bits nach rechts, dass sie durch 2 geteilt wird, erhöht auf 2, was 4 ist. 16*4 = 4 zeigt die oben genannte Aussage.

Bitweise Operatoren für C++-Programme

Nachfolgend die Umsetzung des Themas:

C++
// C++ Program to demonstrate // Bitwise Operator #include  using namespace std; // Main function int main()  b;  // Bitwise XOR  int bitwise_xor = a ^ b;  // Bitwise NOT  int bitwise_not = ~a;  // Bitwise Left Shift  int left_shift = a << 2;  // Bitwise Right Shift  int right_shift = a>> 1;  // Drucken der Ergebnisse von // Bitweisen Operatoren cout<< 'AND: ' << bitwise_and << endl;  cout << 'OR: ' << bitwise_or << endl;  cout << 'XOR: ' << bitwise_xor << endl;  cout << 'NOT a: ' << bitwise_not << endl;  cout << 'Left Shift: ' << left_shift << endl;  cout << 'Right Shift: ' << right_shift << endl;  return 0;>

Ausgabe:

AND: 1 OR: 7 XOR: 6 NOT a: -6 Left Shift: 20 Right Shift: 2>

Abschluss

Zusammenfassend lässt sich sagen, dass bitweise Operatoren verwendet werden, um Operationen auf binärer (Bit-)Ebene auszuführen. Wir haben verschiedene Arten von bitweisen Operatoren wie UND, ODER, XOR, NICHT, Linksverschiebungs- und Rechtsverschiebungsoperatoren in C++. Durch diese Operationen kann die Manipulation einzelner Bits sehr präzise erfolgen, was bei der Datenverarbeitung auf niedriger Ebene unerlässlich ist.