Operatori bit per bit CC Bitwise Operators

Gli operatori bit per bit eseguono operazioni di tipo AND bit per bit (&), OR bit per bit esclusivo (^) e OR bit per bit inclusivo (|).The bitwise operators perform bitwise-AND (&), bitwise-exclusive-OR (^), and bitwise-inclusive-OR (|) operations.

SintassiSyntax

AND-expression:AND-expression:
equality-expressionequality-expression

AND-expression & equality-expressionAND-expression & equality-expression

exclusive-OR-expression:exclusive-OR-expression:
AND-expressionAND-expression

exclusive-OR-expression ^ AND-expressionexclusive-OR-expression ^ AND-expression

inclusive-OR-expression:inclusive-OR-expression:
exclusive-OR-expressionexclusive-OR-expression

inclusive-OR-expression | exclusive-OR-expressioninclusive-OR-expression | exclusive-OR-expression

Gli operandi degli operatori bit per bit devono avere tipi di dati integrali, ma i tipi possono essere diversi.The operands of bitwise operators must have integral types, but their types can be different. Questi operatori eseguono le conversioni aritmetiche comuni; il tipo del risultato è il tipo degli operandi dopo la conversione.These operators perform the usual arithmetic conversions; the type of the result is the type of the operands after conversion.

Gli operatori bit per bit C sono descritti di seguito:The C bitwise operators are described below:

OperatoreOperator DescrizioneDescription
& L'operatore AND bit per bit confronta ogni bit del primo operando con il bit corrispondente del secondo operando.The bitwise-AND operator compares each bit of its first operand to the corresponding bit of its second operand. Se entrambi i bit sono 1, il bit del risultato corrispondente viene impostato su 1.If both bits are 1, the corresponding result bit is set to 1. In caso contrario, il bit di risultato corrispondente viene impostato su 0.Otherwise, the corresponding result bit is set to 0.
^ L'operatore OR bit per bit esclusivo confronta ogni bit del primo operando con il bit corrispondente del secondo operando.The bitwise-exclusive-OR operator compares each bit of its first operand to the corresponding bit of its second operand. Se un bit è 0 e l'altro bit è 1, il bit di risultato corrispondente viene impostato su 1.If one bit is 0 and the other bit is 1, the corresponding result bit is set to 1. In caso contrario, il bit di risultato corrispondente viene impostato su 0.Otherwise, the corresponding result bit is set to 0.
|| L'operatore OR bit per bit inclusivo confronta ogni bit del primo operando con il bit corrispondente del secondo operando.The bitwise-inclusive-OR operator compares each bit of its first operand to the corresponding bit of its second operand. Se un bit è 1 bit, il bit di risultato corrispondente viene impostato su 1.If either bit is 1, the corresponding result bit is set to 1. In caso contrario, il bit di risultato corrispondente viene impostato su 0.Otherwise, the corresponding result bit is set to 0.

EsempiExamples

Queste dichiarazioni vengono usate per gli esempi seguenti:These declarations are used for the following three examples:

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).The result assigned to n in this first example is the same as i (0xAB00 hexadecimal).

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).The bitwise-inclusive OR in the second example results in the value 0xABCD (hexadecimal), while the bitwise-exclusive OR in the third example produces 0xCD (hexadecimal).

Sezione specifica MicrosoftMicrosoft Specific

I risultati dell'elaborazione bit per bit su Integer con segno sono definiti dall'implementazione, in base allo standard C ANSI.The results of bitwise operation on signed integers is implementation-defined according to the ANSI C standard. 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.For the Microsoft C compiler, bitwise operations on signed integers work the same as bitwise operations on unsigned integers. Ad esempio, -16 & 99 può essere espresso in formato binario comeFor example, -16 & 99 can be expressed in binary as

  11111111 11110000  
& 00000000 01100011  
  _________________  
  00000000 01100000  

Il risultato dell'operazione AND bit per bit è 96 decimale.The result of the bitwise AND is 96 decimal.

Fine sezione specifica MicrosoftEND Microsoft Specific

Vedere ancheSee Also

Operatore AND bit per bit: & Bitwise AND Operator: &
Operatore OR bit per bit esclusivo: ^ Bitwise Exclusive OR Operator: ^
Operatore OR bit per bit inclusivo: |Bitwise Inclusive OR Operator: |