Duvida a respeito de sintaxe do java

6 respostas
janjan

ola
a pouco dei uma olhada no fonte de uma classe do java
e vi que ele fazia algo como esses sinais de maior,para que 2 juntos? >>

6 Respostas

marcosharbs

cara nunca vi dois sinais junto >> e acho que nem existe, não era um comentário num? =P

T

">>" é o deslocamento de bits para a direita, completando com o sinal à esquerda.
">>>" é o deslocamento de bits para a direita, completando com zeros à esquerda.

É mais fácil, para entender esse operador, fazer um desenho dos bits.

marcosharbs

hmmmm
vivendo e aprendendo não conhecia esse operador tb

janjan

saberiam dizer um lugar que eu precisaria usar isso!
na api do java ele utiliza para centralizar o frame na tela.
mas nao entendo pra que ele precisa disso…
vlw!

T

Ele deve estar usando algo parecido com isto:

int y = 300; // por exemplo
int x = y >> 1;

Se ele estiver fazendo algo parecido com isto, está só usando um jeito "complicado" de dividir y por 2, que deveria ser mais rápido, porque usa uma operação rápida (deslocamento) em vez de uma lenta (divisão).

De modo geral, x >> n é mais ou menos a mesma coisa que dividir x por 2 elevado a n, se x for positivo e n for um número inteiro.

janjan

vlw pela explicação

Criado 5 de janeiro de 2009
Ultima resposta 5 de jan. de 2009
Respostas 6
Participantes 3