Compartilhar via


C operadores bit a bit

Os operadores bit a bit executam bit a bit- E (e), bit a bit exclusivo ou (^) e (OR bit a bit-inclusive**|**) operações.

Sintaxe

  • Expressão e:
    expressão de igualdade

    Expressão e & expressão de igualdade

  • exclusivo-OR-expressão:
    Expressão de AND

    exclusivo-OR-expressão ^ AND-expression.

  • expressão inclusive OR:
    expressão de OR exclusivo

    expressão inclusive OR | expressão de OR exclusivo

Os operandos de operadores bit a bit devem ter tipos integrais, mas seus tipos podem ser diferentes.Esses operadores realizam conversões aritméticas usuais; o tipo do resultado é o tipo dos operandos após a conversão.

Os operadores bit a bit c estão descritos abaixo:

Operador

Descrição

&

O bit a bit- E operador compara cada bit de seu primeiro operando o bit correspondente do seu segundo operando.Se os dois bits são 1, o bit de resultado correspondente é definido como 1.Caso contrário, o bit de resultado correspondente é definido como 0.

^

O operador bit a bit exclusivo ou compara cada bit de seu primeiro operando o bit correspondente do seu segundo operando.Se um bit for 0 e o outro bit for 1, o bit de resultado correspondente é definido como 1.Caso contrário, o bit de resultado correspondente é definido como 0.

|

O operador OR bit a bit-inclusive compara cada bit de seu primeiro operando o bit correspondente do seu segundo operando.Se o bit for 1, o bit de resultado correspondente é definido como 1.Caso contrário, o bit de resultado correspondente é definido como 0.

Exemplos

Essas declarações são usadas para os três exemplos a seguir:

short i = 0xAB00;
short j = 0xABCD;
short n;

n = i & j;

O resultado atribuído a n este primeiro exemplo é o mesmo que i (0xAB00 hexadecimal).

n = i | j;

n = i ^ j;

O OR bit a bit inclusive no segundo exemplo resulta no valor de 0xABCD (hexadecimal), enquanto o OR exclusivo bit a bit no terceiro exemplo produz 0xCD (hexadecimal).

Específicos do Microsoft

Os resultados da operação bit a bit em inteiros assinados é implementação definidas de acordo com o padrão ANSI C.Para o compilador Microsoft C, operações bit a bit em inteiros assinados funcionam as mesmas operações bit a bit em inteiros não assinados.Por exemplo, -16 & 99 podem ser expressos em notação binária como

  11111111 11110000
& 00000000 01100011
  _________________
  00000000 01100000

O resultado do AND bit a bit é 96 decimal.

Específicos do Microsoft final

Consulte também

Referência

Operador AND bit a bit: &

Bit a bit exclusivo ou operador: ^

BITWISE Inclusive ou operador: |