14.03.2015 Views

Apostila C da UFMG - Universidade do Minho

Apostila C da UFMG - Universidade do Minho

Apostila C da UFMG - Universidade do Minho

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!