Operatori bit per bit c
Gli operatori bit per bit eseguono AND bit per bit (&), bit per bit-esclusivo-O (^) e bit per bit-incluso-O (|) operazioni.
Sintassi
E-espressione:
uguaglianza-espressioneE-espressione & uguaglianza-espressione
esclusivo-O-espressione:
E-espressioneesclusivo-O-espressione ^ E-espressione
incluso-O-espressione:
esclusivo-O-espressioneincluso-O-espressione | esclusivo-O-espressione
Gli operandi degli operatori bit per bit devono avere tipi integrali, ma i relativi tipi possono essere diversi.Questi operatori eseguono conversioni aritmetiche normali, il tipo del risultato è il tipo degli operandi dopo la conversione.
Gli operatori bit per bit c# vengono descritti di seguito:
Operatore |
Descrizione |
---|---|
& |
L'operatore AND bit per bit confronta ogni bit del primo operando al bit corrispondente del secondo operando.Se entrambi i bit sono 1, il bit corrispondente di risultato viene impostato su 1.In caso contrario, il bit corrispondente di risultato viene impostato su 0. |
^ |
Bit per bit-esclusivo-O operatore confronta ogni bit del primo operando al bit corrispondente del secondo operando.Se un bit è 0 e l'altro bit è 1, il bit corrispondente di risultato viene impostato su 1.In caso contrario, il bit corrispondente di risultato viene impostato su 0. |
| |
Bit per bit-incluso-O operatore confronta ogni bit del primo operando al bit corrispondente del secondo operando.Se uno dei bit è 1, il bit corrispondente di risultato viene impostato su 1.In caso contrario, il bit corrispondente di risultato viene impostato su 0. |
Esempi
Queste dichiarazioni vengono utilizzate per i seguenti tre esempi:
short i = 0xAB00;
short j = 0xABCD;
short n;
n = i & j;
il risultato assegnato a n in questo primo esempio è uguale a i (esadecimali 0xAB00).
n = i | j;
n = i ^ j;
L'bit per bit-incluso OR in secondi risultati di esempio il valore 0xABCD (esadecimale), mentre l'bit per bit-esclusivo OR nel terzo esempio produce 0xCD (esadecimale).
Specifici di Microsoft
I risultati dell'operazione bit per bit sugli interi con segno è implementazione-definiti secondo lo standard C ANSI.Per il compilatore C Microsoft, le operazioni bit per bit sugli interi con segno funzionano delle operazioni bit per bit sugli Unsigned Integer.Ad esempio, -16 & 99 può essere espresso in formato binario come
11111111 11110000
& 00000000 01100011
_________________
00000000 01100000
Il risultato di bit per bit AND è 96 decimali.
Microsoft FINALE specifico