A linguagem C oferece também operadores que trabalham sobre a representação binária de valores inteiros e caracteres. Estes operadores são:
& |
AND bit-a-bit |
| |
OR bit-a-bit |
^ |
XOR bit-a-bit |
<< |
deslocamento de bits à esquerda |
>> |
deslocamento de bits à direita |
~ |
complemento de um (inverte cada bit) |
Expressões envolvendo esses operadores tomam dois argumentos -- exceto
pelo operador ~
, que é unário. Por exemplo,
a = x & 0177; /* a recebe 7 bits menos signif. de x */ b &= ~0xFF; /* zera os 8 bits menos signif. de b */ c >>= 4; /* desloca bits de 4 pos. a direita */