Udostępnij za pośrednictwem


Operatory bitowe języka C

Operatory bitowe wykonują operacje iloczynu bitowego AND (&), wykluczającej sumy bitowej OR (^) oraz niewykluczającej sumy bitowej OR (|).

Składnia

  • Wyrażenie AND:
    wyrażenie równoważności

    wyrażenie AND & wyrażenie równoważności

  • wykluczające wyrażenie OR:
    wyrażenie-AND

    wykluczające wyrażenie OR ^ wyrażenie AND

  • niewykluczające wyrażenie OR:
    wykluczające wyrażenie OR

    niewykluczające wyrażenie OR | wykluczające wyrażenie OR

Operandy operatorów bitowych muszą być typu całkowitego, ale ich typy mogą być różne.Operatory te wykonują zwykłe konwersje arytmetyczne; typ wyniku jest po konwersji typem operandów.

Poniżej opisano operatory bitowe języka C:

Operator

Opis

&

Operator bitowy AND porównuje każdy bit pierwszego operandu z odpowiadającym bitem drugiego operandu.Jeśli oba bity są równe 1, odpowiadający im bit wyniku będzie równy 1.W przeciwnym razie odpowiadający im bit wyniku będzie równy 0.

^

Operator bitowy sumy wykluczającej OR porównuje każdy bit pierwszego operandu z odpowiadającym bitem drugiego operandu.Jeśli jeden bit ma wartość 0, a drugi bit ma wartość 1, odpowiadający im bit wyniku będzie równy 1.W przeciwnym razie odpowiadający im bit wyniku będzie równy 0.

|

Operator bitowy sumy niewykluczającej OR porównuje każdy bit pierwszego operandu z odpowiadającym bitem drugiego operandu.Jeśli oba bity mają wartość 1, odpowiadający im bit wyniku będzie równy 1.W przeciwnym razie odpowiadający im bit wyniku będzie równy 0.

Przykłady

Deklaracje te są używane w poniższych trzech przykładach:

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

n = i & j;

Wynik przypisany do n w tym pierwszym przykładzie jest taki sam, jak i (szesnastkowo 0xAB00).

n = i | j;

n = i ^ j;

Bitowa suma niewykluczająca OR w drugim przykładzie skutkuje zwróceniem wartości 0xABCD (szesnastkowo), podczas gdy bitowa suma wykluczająca OR w trzecim przykładzie powoduje wyprodukowanie wartości 0xCD (szesnastkowo).

Specyficzne dla firmy Microsoft

Wyniki operacji bitowych wykonywanych na liczbach całkowitych ze znakiem są zdefiniowane w implementacji, zgodnie ze standardem ANSI C.W przypadku kompilatora Microsoft C, operacje bitowe dla liczb całkowitych ze znakiem działają w taki sam sposób, jak operacje bitowe dla liczb całkowitych bez znaku.Na przykład -16 & 99 może być wyrażone w postaci danych binarnych, jako

  11111111 11110000
& 00000000 01100011
  _________________
  00000000 01100000

Wynikiem bitowej operacji AND jest liczba dziesiętna 96.

KONIEC informacji specyficznych dla firmy Microsoft

Zobacz też

Informacje

Bitowy operator AND: &

Operator wyłączny sumy bitowej OR: ^

Operator wyłączny sumy bitowej OR: |