O uso destes operadores se torna claro na leitura de arquivos/streams onde o m�todo readInt, por exemplo utiliza esses operadores e vai lendo byte a byte do arquivo e jogando em um buffer (um int, no caso) e no final o int � recuperado do arquivo e/ou stream.
[]'s
Daniel C. Amadei
Sun Certified Java Programmer - Platforms 1.2 & 1.4
From: "Ribeiro, Max R. M." <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
To: "'[EMAIL PROTECTED]'" <[EMAIL PROTECTED]>
Subject: RE: [java-list] OPERADORES DE DESLOCAMENTO BIT-A-BIT
Date: Tue, 7 Jan 2003 17:06:04 -0200
Exato !
Os bits para n�meros positivos S�O zeros e para os negativos S�O um(s)
Abra�[]s,
Max Ricardo Mercurio Ribeiro
IT & Business Consultant for Alcoa Company
e-mail: [EMAIL PROTECTED] < <mailto:[EMAIL PROTECTED]>
mailto:[EMAIL PROTECTED]> (company) / [EMAIL PROTECTED] <
<mailto:[EMAIL PROTECTED]> mailto:[EMAIL PROTECTED]> (personal)
phones # : (0x11) 9101-5511 mob. / (0x11) 3741-4418 com.
-----Original Message-----
From: Giovanne Vermes [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, 7 de January de 2003 11:05 AM
To: [EMAIL PROTECTED]
Subject: RE: [java-list] OPERADORES DE DESLOCAMENTO BIT-A-BIT
Apenas como um complemento, na rolagem � direita os bits ser�o zerados se o
tipo de dados for sem sinal (unsigned).
Daniel Vermes
"Ribeiro, Max R. M." <[EMAIL PROTECTED]> wrote:
Marcio,
O que voc� quer saber chama-se ROLAGEM bit-a-bit igual na linguagem C.
Por exemplo (aten��o aqui utilizei bin�rios de 8bits no Java a rolagem � com
32) :
Voce tem o binario 11111000 = -4
Caso voce efetue a opera��o << 2
Voc� ir� "rolar" 2 bits � ESQUERDA ficando 111000??
(repare que os primeiros bits foram desprezados)
Mas � os novos bits ? Como ficar�o ?
R: Ir�o ser substitu�dos por NOVOS bits (0) 11100000 = -16
Outro exemplo :
Voce tem o binario 11111000 = -4
Caso voce efetue a opera��o >> 2
Voc� ir� "rolar" 2 bits � DIREITA ficando ??111110
(repare que os ultimos bits foram desprezados)
Mas � os novos bits ? Como ficar�o ?
R: Ir�o ser substitu�dos por bits de mesmo sinal 11111110 = -2
* Lembre-se que o sinal do n�mero � dado pelo primeiro bit
Por�m no Java existe mais uma maneira de rolagem ...
(devido � uma preocupa��o muito antiga da Sun em rodar o Java em
dispositivos de baixa capacidade de mem�ria)
Voce tem o binario 11111000 = -4
Caso voce efetue a opera��o >>> 2
Voc� ir� "rolar" 2 bits � DIREITA ficando ??100010
(repare que os ultimos bits foram desprezados)
Mas � os novos bits ? Como ficar�o ?
R: Ir�o ser substitu�dos por NOVOS bits (0) 00100010 = 66
* Dessa maneira o valor que ser� apresentado poder� perder o sentido
Geralmente utilizamos esses operadores qto iremos realizar manipula��es com
bytes ou em alguns algoritmos de criptografia !
Espero t�-lo ajudado !
Abra�[]s,
Max Ricardo Mercurio Ribeiro
IT & Business Consultant for Alcoa Company
e-mail: [EMAIL PROTECTED] < <mailto:[EMAIL PROTECTED]>
mailto:[EMAIL PROTECTED]> (company) / [EMAIL PROTECTED] <
<mailto:[EMAIL PROTECTED]> mailto:[EMAIL PROTECTED]> (personal)
phones # : (0x11) 9101-5511 mob. / (0x11) 3741-4418 com.
-----Original Message-----
From: Marcio Leal [mailto:[EMAIL PROTECTED]]
Sent: Monday, 6 de January de 2003 11:57 AM
To: [EMAIL PROTECTED]
Subject: [java-list] OPERADORES DE DESLOCAMENTO BIT-A-BIT
Gostaria de entender como � feito o deslocamento BIT-A-BIT, achei alguns
exemplos e n�o
consegui entender exemplo.
x = 1 1 1 1 1 0 0 1
x << 3
x >> 3
x >>> 3
_____
Busca Yahoo! <http://br.busca.yahoo.com/>
O melhor lugar para encontrar tudo o que voc� procura na Internet
_________________________________________________________________
MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com
------------------------------ 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] -------------------------------------------------------------------------
