Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los operadores bit a bit realizan operaciones bit a bit AND (&), OR exclusivo bit a bit (^) y OR bit a bit-inclusive-OR (|).
Sintaxis
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
Los operandos de operadores bit a bit deben tener tipos enteros, pero sus tipos pueden ser diferentes. Estos operadores realizan las conversiones aritméticas habituales; el tipo del resultado es el tipo de los operandos después de la conversión.
Los operadores bit a bit de C se describen a continuación:
| Operador | Descripción |
|---|---|
& |
El operador bit a bit-AND compara cada bit de su primer operando con el bit correspondiente de su segundo operando. Si ambos bits son 1, el bit del resultado correspondiente se establece en 1. De lo contrario, el bit del resultado correspondiente se establece en 0. |
^ |
El operador OR exclusivo bit a bit compara cada bit de su primer operando con el bit correspondiente de su segundo operando. Si un bit es 0 y el otro bit es 1, el bit del resultado correspondiente se establece en 1. De lo contrario, el bit del resultado correspondiente se establece en 0. |
| |
El operador OR inclusivo bit a bit compara cada bit de su primer operando con el bit correspondiente de su segundo operando. Si uno de los dos bits es 1, el bit del resultado correspondiente se establece en 1. De lo contrario, el bit del resultado correspondiente se establece en 0. |
Ejemplos
Estas declaraciones se usan para los tres ejemplos siguientes:
short i = 0xAB00;
short j = 0xABCD;
short n;
n = i & j;
El resultado asignado a n en este primer ejemplo es el mismo que i (0xAB00 hexadecimal).
n = i | j;
n = i ^ j;
El OR bit a bit inclusivo en el segundo ejemplo da como resultado el valor 0xABCD (hexadecimal), mientras que el OR bit a bit exclusivo del tercer ejemplo genera 0xCD (hexadecimal).
Específicos de Microsoft
El resultado de una operación bit a bit en enteros con signo se define en función de la implementación según el estándar de C. Para el compilador de Microsoft C, las operaciones bit a bit en enteros con signo funcionan igual que las operaciones bit a bit en enteros sin signo. Por ejemplo, -16 & 99 se puede expresar en binario como
11111111 11110000
& 00000000 01100011
_________________
00000000 01100000
El resultado del AND bit a bit es 96 decimal.
FIN Específico de Microsoft
Consulte también
Operador AND bit a bit: &
Operador OR exclusivo bit a bit: ^
Operador OR inclusivo bit a bit: |