Compartir a través de


Operadores bit a bit de C

Los operadores bit a bit realizan bit a bit (y), bit a bit-exclusivo-O (^), y bit a bit-inclusivo-O (|) operaciones.

Sintaxis

  • Y-expresión:
    igualdad-expresión

    Y-expresión y igualdad-expresión

  • exclusivo-O-expresión:
    Y-expresión

    Y-expresión de**^** de la exclusivo-O-expresión

  • inclusivo-O-expresión:
    exclusivo-O-expresión

    inclusivo-O-expresión | exclusivo-O-expresión

los operandos de operadores bit a bit deben tener tipos enteros, pero sus tipos pueden ser diferentes.Estos operadores realizan conversiones aritméticas usuales; el tipo del resultado es el tipo de los operandos después de conversión.

Los operadores bit a bit de C se describen a continuación:

Operador

Descripción

&

El operador bit a bit compara cada bit del primer operando al bit correspondiente del segundo operando.Si ambos bits son 1, el bit correspondiente del resultado se establece en 1.Si no, el bit correspondiente del resultado se establece en 0.

^

Bit a bit-exclusivo-O operador compara cada bit del primer operando al bit correspondiente del segundo operando.Si un bit es 0 y el otro bit es 1, el bit correspondiente del resultado se establece en 1.Si no, el bit correspondiente del resultado se establece en 0.

|

Bit a bit-inclusivo-O operador compara cada bit del primer operando al bit correspondiente del segundo operando.Si el bit es 1, el bit correspondiente del resultado se establece en 1.Si no, el bit correspondiente del resultado se establece en 0.

Ejemplos

estas declaraciones se utilizan 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 igual que i (hexadecimal 0xAB00).

n = i | j;

n = i ^ j;

El bit a bit-inclusivo OR en el segundo ejemplo produce el valor 0xABCD (hexadecimal), mientras que el bit a bit-exclusivo OR en el tercer ejemplo genera 0xCD (hexadecimal).

Específicos de Microsoft

Los resultados de la operación bit a bit en enteros con signo son implementación-definido según el estándar ANSI C.Para Microsoft C, operaciones bit a bit de trabajo firmado de enteros igual que operaciones bit a bit en enteros sin signo.Por ejemplo, -16 & 99 puede expresarse en binario como

  11111111 11110000
& 00000000 01100011
  _________________
  00000000 01100000

El resultado de la operación de AND bit a bit es 96 decimales.

Específico de Microsoft de FINAL

Vea también

Referencia

AND bit a bit operador: y

Operador OR EXCLUSIVO bit a bit: ^

Inclusivo operador OR bit a bit: |