Bitweise Operatoren C
Die bitweisen Operatoren führen bitweise Operator AND (&) bitweis-Exklusiv-ODER (^) und (bitweis-inklusiv-ODER aus**|**).
Syntax
Und-Ausdruck:
EQUALITYAusdruckEQUALITY AusdruckUnd-Ausdruck*&***
Exklusiv-ODEr Begriff:
Und-AusdruckExklusiv-ODErAusdruck ^ Und-Ausdruck
Inklusiv-ODEr Begriff:
Exklusiv-ODErAusdruckInklusiv-ODErAusdruck | Exklusiv-ODErAusdruck
Die Operanden von bitweisen Operatoren müssen ganzzahlige Typen haben, aber ihre Typen können unterschiedlich sein.Diese Operatoren führen die üblichen arithmetische Konvertierungen aus. der Typ des Ergebnisses ist der Typ der Operanden nach Konvertierung.
In C bitweisen Operatoren sind im Folgenden beschrieben:
Operator |
Beschreibung |
---|---|
& |
Der bitweise Operator AND vergleicht jedes Bit des ersten Operanden und dem entsprechenden Bit des zweiten Operanden.Wenn beide Bits 1 sind, wird das entsprechende Ergebnis bit auf 1 gesetzt.Andernfalls wird das entsprechende Ergebnis auf 0 festgelegt. bit |
^ |
Bitweis-Exklusiv-ODER Operator vergleicht jedes Bit des ersten Operanden und dem entsprechenden Bit des zweiten Operanden.Wenn ein Bit 0 und das andere Bit 1 ist, wird das entsprechende Ergebnis bit auf 1 gesetzt.Andernfalls wird das entsprechende Ergebnis auf 0 festgelegt. bit |
| |
Bitweis-inklusiv-ODER Operator vergleicht jedes Bit des ersten Operanden und dem entsprechenden Bit des zweiten Operanden.Wenn jedes Bit 1 ist, wird das entsprechende Ergebnis bit auf 1 gesetzt.Andernfalls wird das entsprechende Ergebnis auf 0 festgelegt. bit |
Beispiele
Diese Deklarationen werden für die folgenden drei Beispielen verwendet:
short i = 0xAB00;
short j = 0xABCD;
short n;
n = i & j;
Das Ergebnis, das n in diesem ersten Beispiel zugewiesen wird, ist dasselbe wie i (hexadezimal 0xAB00).
n = i | j;
n = i ^ j;
Das bitweis-inklusive OR im zweiten Beispiel ergibt den Wert 0xABCD (hexadezimal), während das Bitweises OR, ausschließende im dritten Beispiel 0xCD (hexadezimal) erzeugt.
Microsoft-spezifisch
Die Ergebnisse der bitweisen Operation für ganze Zahlen mit Vorzeichen wird entsprechend dem ANSI C-Standard Implementierung-definiert.Für den Microsoft C-Compiler bitweise Operationen für Zahlen Arbeit mit Vorzeichen mit dem bitweisen Operationen für Ganzzahlen ohne Vorzeichen.Beispielsweise kann -16 & 99 ausgedrückt werden wie in der Binärdatei
11111111 11110000
& 00000000 01100011
_________________
00000000 01100000
Das Ergebnis der bitweisen AND-Operation Dezimalzahl 96 ist.
Microsoft ENDES bestimmten