Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A bitenkénti operátorok BITWISE-AND (&), bitwise-exclusive-OR (^) és bitwise-inclusive-OR (|) műveleteket hajtanak végre.
Szemantika
AND-expression:
equality-expression
AND-expression
&
equality-expression
exclusive-OR-expression:
AND-expression
exclusive-OR-expression
^
AND-expression
inclusive-OR-expression:
exclusive-OR-expression
inclusive-OR-expression
|
exclusive-OR-expression
A bitenkénti operátorok operandusainak integráltípusokkal kell rendelkezniük, de típusuk eltérő lehet. Ezek az operátorok a szokásos számtani átalakításokat hajtják végre; az eredmény típusa az átalakítás utáni operandusok típusa.
A C bitenkénti operátorokat az alábbiakban ismertetjük:
| Operátor | Leírás |
|---|---|
& |
A bitenkénti ÉS operátor az első operandus minden egyes bitjét összehasonlítja a második operandus megfelelő bitével. Ha mindkét bit 1, a megfelelő eredménybit értéke 1. Ellenkező esetben a megfelelő eredménybit értéke 0. |
^ |
A bitenkénti kizárólagos-OR operátor az első operandus minden egyes bitjét összehasonlítja a második operandus megfelelő bitével. Ha az egyik bit 0, a másik bit 1, akkor a megfelelő eredménybit értéke 1. Ellenkező esetben a megfelelő eredménybit értéke 0. |
| |
A bitenkénti-befogadó-OR operátor az első operandus minden egyes bitjét összehasonlítja a második operandus megfelelő bitével. Ha bármelyik bit 1, a megfelelő eredménybit értéke 1. Ellenkező esetben a megfelelő eredménybit értéke 0. |
Példák
Ezeket a deklarációkat a következő három példához használjuk:
short i = 0xAB00;
short j = 0xABCD;
short n;
n = i & j;
Az első példában szereplő n eredmény ugyanaz, mint i (0xAB00 hexadecimális).
n = i | j;
n = i ^ j;
A bitenkénti vagy a második példában a 0xABCD (hexadecimális) értéket, míg a bitenkénti vagy a harmadik példában a 0xCD (hexadecimális) eredményt adja.
Microsoft-specifikus
Az aláírt egész számok bitenkénti műveletének eredménye a implementáció a C szabványnak megfelelően van definiálva. A Microsoft C fordító esetében az aláírt egész számok bitenkénti műveletei ugyanúgy működnek, mint az aláíratlan egész számok bitenkénti műveletei. Például -16 & 99 binárisan is kifejezhető
11111111 11110000
& 00000000 01100011
_________________
00000000 01100000
Az AND bitenkénti eredménye 96 decimális.
END Microsoft-specifikus kifejezés
Lásd még
Bitenkénti ÉS operátor: &
Bitwise exclusive OR operátor: ^
Bitenkénti befogadó VAGY operátor: |