Title: Message
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]> (company) / [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]> (company) / [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!
O melhor lugar para encontrar tudo o que você procura na Internet

Responder a