Apostila C da UFMG - Universidade do Minho
Apostila C da UFMG - Universidade do Minho
Apostila C da UFMG - Universidade do Minho
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Opera<strong>do</strong>res Lógicos Bit a Bit<br />
O C permite que se faça operações lógicas "bit-a- bit" em números. Ou seja, neste caso, o número é representa<strong>do</strong> por<br />
sua forma binária e as operações são feitas em ca<strong>da</strong> bit dele. Imagine um número inteiro de 16 bits, a variável i<br />
armazenan<strong>do</strong> o valor 2. A representação binária de i, será: 0000000000000010 (quinze zeros e um único 1 na segun<strong>da</strong><br />
posição <strong>da</strong> direita para a esquer<strong>da</strong>). Poderemos fazer operações em ca<strong>da</strong> um <strong>do</strong>s bits deste número. Por exemplo, se<br />
fizermos a negação <strong>do</strong> número (operação binária NOT, ou opera<strong>do</strong>r binário ~ em C), isto é, ~i, o número se<br />
transformará em 1111111111111101. As operações binárias aju<strong>da</strong>m programa<strong>do</strong>res que queiram trabalhar com o<br />
computa<strong>do</strong>r em "baixo nível". As operações lógicas só podem ser usa<strong>da</strong>s nos tipos char, int e long int. Os opera<strong>do</strong>res<br />
são:<br />
Opera<strong>do</strong>r<br />
Ação<br />
&<br />
AND<br />
| OR<br />
^<br />
XOR (OR exclusivo)<br />
~ NOT<br />
>> Deslocamento de bits a direita<br />
>número_de_deslocamentos<br />
valor