Por o numero � de 4 bytes e voce tem de fazer o complemento de todo o
numero, no caso 32 bits.

-----Mensagem original-----
De: Jos� Roberto Araujo Teixeira (Teixeira)
[mailto:[EMAIL PROTECTED]]
Enviada em: quarta-feira, 13 de fevereiro de 2002 13:49
Para: '[EMAIL PROTECTED]'
Cc: '[EMAIL PROTECTED]'
Assunto: RES: [java-list] **** Please...GALERA ! risos Duvida
(Iniciante)



Ok, Valeu...
Douglas, s� meio XT...risos
se 39 �: 100111
e -39 fica : 011000  1

pq vc coloca: 11111111111111111111111111011001 (equivale a -39)
n�o entendi, agora fiquei confuso.

eu ainda n�o entendi o deslocamento, pra mim o deslocamento seria pegar os
mesmos numeros de bits
e duplicar...
quero pegar isso direitinho, afinal, qdo eu for fazer a prova de
certifica��o isso
com certeza vai cair e vou dan�ar direitinho...

Roberto


-----Mensagem original-----
De: Douglas Drummond [mailto:[EMAIL PROTECTED]]
Enviada em: s�bado, 9 de fevereiro de 2002 15:09
Para: [EMAIL PROTECTED]
Assunto: Re: [java-list] **** Please...GALERA ! risos Duvida (Iniciante)


> 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] 
-------------------------------------------------------------------------

------------------------------ 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]
-------------------------------------------------------------------------

Responder a