Referencia > Nyelv > Struktúrák > Összevont operátorok > Összevont bitenkénti vagy

|=

[Összevont operátorok]

Leírás

Az összevont bitenkénti VAGY |= operátort gyakran használják változóval és állandóval a változó bizonyos bitjeinek "beállítására" (1-re állítására).

A bitenkénti VAGY | operátor áttekintése:

0  0  1  1    operandus1
0  1  0  1    operandus2
----------
0  1  1  1    (operandus1 | operandus2) - a visszaadott érték

Szintaxis

x |= y; // egyenértékű az x = x | y; kifejezéssel

Paraméterek

x: változó. Engedélyezett adattípusok: char, int, long.
y: változó vagy állandó. Engedélyezett adattípusok: char, int, long.

Példa

Azok a bitek, amelyek a "bitenkénti OR"-ban 0-ra állítottunk, változatlanok maradnak. Így, ha a myByte egy byte típusú változó,

myByte | 0b00000000 = myByte;

A bitek amelyek "bitenkénti OR"-ban 1-re állítottunk, 1-re állítódnak:

myByte | 0b11111111 = 0b11111111;

Megjegyzések és figyelmeztetések

Mivel bitenkénti operátorral van dolgunk, ezért kényelmes a bináris formázó használata állandókkal. A számok más ábrázolásokban továbbra is ugyanazt az értéket képviselik, csak nem olyan könnyű megérteni őket. A 0b00000000 is megjelenik az érthetőség kedvéért, de a nulla bármilyen számformátumban nulla.

Következésképpen - a változó 0 és 1 bitjei 1-re állításához, miközben a változó többi részét változatlanul hagyja, használja az összetett bitenkénti OR operátort (|=) a 0b00000011 konstanssal.

1  0  1  0  1  0  1  0    változó
0  0  0  0  0  0  1  1    maszk
----------------------
1  0  1  0  1  0  1  1
változatlan bitek
                 1-re állított bitek

Itt ugyanaz az ábrázolás, a változók bitjeit x szimbólummal helyettesítjük.

x  x  x  x  x  x  x  x    változó
0  0  0  0  0  0  1  1    maszk
----------------------
x  x  x  x  x  x  1  1
változatlan bitek
                 1-re állított bitek

Így, ha:

myByte = 0b10101010;
myByte |= 0b00000011 == 0b10101011;

Lásd még

  • NYELV | Bitenkénti VAGY