4. Operadores de deslocamento (>>, <<, >>>)

Java prov� operadores para a manipula��o dos bits em vari�veis de tipo
num�rico: o deslocamento aritm�tico >> e o deslocamento l�gico >>>.

O operador de deslocamento aritm�tico >> executa um deslocamento de um bit
para a direita de um n�mero (na pr�tica, o primeiro argumento desse operador
� dividido por dois 'n' vezes � onde n � o segundo argumento do operador):

        8  >> 2 = 2
        128 >> 1 = 64
        256 >> 4 = 16


* Nota��o em complemento de dois: o operador >> mant�m o sinal do bit mais
significativo durante o deslocamento.

O operador de deslocamento l�gico >>> executa um deslocamento no padr�o dos
bits ao inv�s do significado aritm�tico de um valor num�rico. Esse operador
sempre adiciona o valor 0 ao bit mais significativo:

1010 ...  >> 2  = 111010 ...
1010 ... >>> 2 = 001010 ...


* Os operadores de deslocamento reduzem seus operandos � direita m�dulo 32
para um valor do tipo int e m�dulo 64 para um tipo long. Dessa forma, para
qualquer valor do tipo int:

int x             �            x >>> 32 = x

fic ligado: o operador de deslocamento l�gico >>> s� pode ser aplicado a
valores inteiros, e n�o � efetivo em valores int e long. Se for aplicado a
valor short ou byte, o valor ser� promovido a um int antes da aplica��o do
operador. Por isso, um deslocamento sem sinal acaba se tornando um
deslocamento com sinal.



http://www.fic.br/~gaucho/SOO-I/aulas/aula4.htm


------------------------------ LISTA SOUJAVA ---------------------------- 
http://www.soujava.org.br  -  Sociedade de Usu�rios Java da Sucesu-SP 
d�vidas mais comuns: http://www.soujava.org.br/faq.htm
regras da lista: http://www.soujava.org.br/regras.htm
historico: http://www.mail-archive.com/java-list%40soujava.org.br
para sair da lista: envie email para [EMAIL PROTECTED] 
-------------------------------------------------------------------------

Responder a