A raz�o para isso � que o operador shift em Java � interpretado pelo
compilador da uma maneira particular. Suponha que a sintaxe padr�o para
deslocamento de bits � esquerda seja a seguinte:
num << desl
Tal comando na verdade se transforma em:
num << (desl mod 32), no caso do operando num ser do tipo int
num << (desl mod 64), no caso do operando num ser do tipo long
Ex.:
1 << 32
1 << (32 mod 32)
1 << 0 = 1, ou seja, n�o houve descolamento
Essa "redu��o" do operando � direita se deve ao fato da pr�pria
limita��o da opera��o de deslocamento em rela��o ao tamanho dos tipos
envolvidos. Pra quem j� programou em assembly Intel (8088 em diante), com
certeza j� conheceu as instru��es de "rotate" de bits (mnem�nicos ROL, ROR,
RCL e RCR). Pois �, se voc� apresentar Java para um programador assembly,
ele vai dizer que Java na verdade n�o tem operador de deslocamento (shift)
de bits, apenas operadores de rota��o de bits...
Rosfran Lins Borges
Analista de Sistemas - NDS
[EMAIL PROTECTED]
F�ton� Inform�tica e Servi�os
Fone: (61) 328 5060 R.: 204
-----Mensagem original-----
De: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
Enviada em: ter�a-feira, 16 de abril de 2002 14:41
Para: [EMAIL PROTECTED]
Assunto: Re: [java-list] Uso de Shift Operator
Eu quero tirar uma duvida sobre esse assunto:
quando a gente usa 1 << 31, obtemos:
00000000 00000000 00000000 00000001 = 1
10000000 00000000 00000000 00000000 = 1 << 31
Teoricamente, quando eu fizesse 1 << 32 eu deveria obter:
00000000 00000000 00000000 00000000 = 0
Mas na pr�tica eu obtenho:
00000000 00000000 00000000 00000001 = 1
Alguem sabe me dizer o pq?
-- Mensagem original --
>Colegas da lista,
>
>Algu�m poderia fornecer exemplos pr�ticos de uso dos Shift Operators (
><< >> >>> ) ?
>
>Grato,
>
>Jacob
>
>
>------------------------------ 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]
>
>-------------------------------------------------------------------------
>
>
------------------------------------------
Use o melhor sistema de busca da Internet
Radar UOL - http://www.radaruol.com.br
------------------------------ 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]
-------------------------------------------------------------------------
------------------------------ 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]
-------------------------------------------------------------------------