Operatori bit per bit C
Gli operatori bit per bit eseguono operazioni bitwise-AND (), bitwise-exclusive-OR (&
^
) e bit per bit inclusive-OR (|
).
Sintassi
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
Gli operandi degli operatori bit per bit devono avere tipi di dati integrali, ma i tipi possono essere diversi. Questi operatori eseguono le conversioni aritmetiche comuni; il tipo del risultato è il tipo degli operandi dopo la conversione.
Gli operatori bit per bit C sono descritti di seguito:
Operatore | Descrizione |
---|---|
& |
L'operatore AND bit per bit confronta ogni bit del primo operando con il bit corrispondente del secondo operando. Se entrambi i bit hanno valore 1, il bit del risultato verrà impostato su 1, altrimenti verrà impostato su 0. |
^ |
L'operatore OR bit per bit esclusivo confronta ogni bit del primo operando con il bit corrispondente del secondo operando. Se un bit ha valore 0 e l'altro 1, il bit del risultato corrispondente verrà impostato su 1. altrimenti verrà impostato su 0. |
| |
L'operatore OR bit per bit inclusivo confronta ogni bit del primo operando con il bit corrispondente del secondo operando. Se uno dei due bit ha valore 1, il bit del risultato verrà impostato su 1, altrimenti verrà impostato su 0. |
Esempio
Queste dichiarazioni vengono usate per gli esempi seguenti:
short i = 0xAB00;
short j = 0xABCD;
short n;
n = i & j;
Il risultato assegnato a n
in questo primo esempio è identico a i
(0xAB00 esadecimale).
n = i | j;
n = i ^ j;
L'operatore OR bit per bit inclusivo nel secondo esempio restituisce il valore 0xABCD (esadecimale), mentre l'operatore OR bit per bit esclusivo nel terzo esempio produce 0xCD (esadecimale).
Microsoft Specifico
Il risultato di un'operazione bit per bit sui numeri interi firmati è definito dall'implementazione in base allo standard C. Per il compilatore Microsoft C le operazioni bit per bit su Integer con segno funzionano in modo analogo alle operazioni bit per bit sui valori interi senza segno. Ad esempio, -16 & 99
può essere espresso in formato binario come
11111111 11110000
& 00000000 01100011
_________________
00000000 01100000
Il risultato dell'operazione AND bit per bit è 96 decimale.
END Microsoft Specifico
Vedi anche
Operatore AND bit per bit: &
Operatore OR esclusivo bit per bit: ^
Operatore OR inclusivo bit per bit: |
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per