Diese Seite ist auch in 2 anderen Sprachen verfügbar.
Sprache wechseln  

|=

[Compound Operators]

Beschreibung

Der zusammengesetzte bitweise OR-Operator | = wird häufig mit einer Variablen und einer Konstante verwendet, um bestimmte Bits in einer Variablen "zu setzen" (auf 1 zu setzen).

Ein Überblick über den bitweisen OR | Operator:

0  0  1  1    operand1
0  1  0  1    operand2
----------
0  1  1  1    (operand1 | operand2) - Ergebnis

Syntax

x |= y; // Äquivalent zu x = x | y

Parameter

x: Variable. Erlaubte Datentypen: char, int, long.
y: Variable oder Konstante. Erlaubte Datentypen: char, int, long.

Beispielcode

Bits, die "bitweise verODERt" mit 0 sind, bleiben unverändert, wenn myByte eine Byte-Variable ist:

myByte | B00000000 = myByte;

Bits, die "bitweise verODERt" mit 1 sind, werden auf 1 gesetzt:

myByte | B11111111 = B11111111;

Anmerkungen und Warnungen

Da es sich um einen bitweisen Operator handelt, ist es sinnvoll, den binären Formatierer mit Konstanten zu verwenden. Die Zahlen haben in anderen Darstellungen immer noch den gleichen Wert, sie sind einfach nicht so leicht zu verstehen. Außerdem wird B00000000 zur Verdeutlichung gezeigt, aber Null in einem beliebigen Zahlenformat ist Null.

Um die Bits 0 und 1 einer Variablen zu setzen, während der Rest der Variablen unverändert bleibt,
verwende den zusammengesetzten bitweisen OR-Operator (| =) mit der Konstanten B00000011

1  0  1  0  1  0  1  0    Variable
0  0  0  0  0  0  1  1    Maske
----------------------
1  0  1  0  1  0  1  1
Bits unverändert
                 Bits gesetzt

Hier ist die gleiche Darstellung mit den Variablenbits durch das Symbol x ersetzt

x  x  x  x  x  x  x  x    Variable
0  0  0  0  0  0  1  1    Maske
----------------------
x  x  x  x  x  x  1  1
Bits unverändert
                 Bits gesetzt

Also ergibt:

myByte =  B10101010;
myByte |= B00000011 == B10101011;

Siehe auch