> T� estudando Java h� 3 semanas, agora t� na parte de operadores bit-a-bit
> suponha este n� 39
> em bin�rio ele fica: 100111 n�o � isso ?
> para transformar em negativo ele fica: 011000 e acressento 1 no final
> ficando: 0110001
na verdade fica 11111111111111111111111111011001 (equivale a -39), sendo
39: 00000000000000000000000000100111
N�meros negativos sao representados como complemento de 2. Complemento
de 2 seria o complemento de 1, acrescido de uma unidade. Exemplificando:
O numero 39 representado como int (32 bits):
00000000000000000000000000100111
complemento de 1 (inverte os numeros, 1 vira 0 e vice-versa):
11111111111111111111111111011000
complemento de 2 (soma 1 unidade)
11111111111111111111111111011001
> S� que eu cheguei nessa parte ::
> >> deslocamento a direita
> << deslocamento a esquerda
> >>> deslocamento a direita + valor a ser definido
Explicando com exemplos
39 >> 2 (desloca o numero 39, 2 bits para direita =
00000000000000000000000000001001, ou 9)
39 << 1 (desloca 1 bit para esquerda, 00000000000000000000000001001110, ou
78)
o operador >>> so diferencia do >> em numeros negativos. ele efetua um
deslocamento sem sinal:
-39 >> 1 (resulta em 11111111111111111111111111101100, ou -20)
-39 >>> 1 (resulta em 01111111111111111111111111101100, ou 2147483628)
Deslocamento de bits � bastante utilizado em programa��o de baixo n�vel.
Para vc q quer
trabalhar com banco de dados n�o � t�o interessante (mas vale a pena dar uma
olhada, p qdo
precisar)
Abra�os,
Douglas Drummond
------------------------------ 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]
-------------------------------------------------------------------------