Operadores e Atribuição

Alguem tem alguma dica para se resolver códigos desse tipo?

class BitShift{
	public static void main(String[] args){
		int x = 0x80000000; //hex
		System.out.print(x + "and ");
		x = x >>> 31;
		System.out.println(x);
	}
}

Qual será a saida do programa?

[quote=gui]Alguem tem alguma dica para se resolver códigos desse tipo?

[code]
class BitShift{
public static void main(String[] args){
int x = 0x80000000; //hex
System.out.print(x + "and ");
x = x >>> 31;
System.out.println(x);
}
}

Qual será a saida do programa?
[/code][/quote]

Já foi falado isso aqui no GUJ!

Tem tópicos anteriores que falam da Transformação de Hex p/ Binário!

Dê uma procurada!

[]'s Tjmm.

Olá,
O

Irá imprimir esse valor em decimal + and
O segundo

x = x >>> 31;
 System.out.println(x);

É bbbeeeemmm mais facil. Irá imprimir o valor 1
Por que?
Por que ele desloca para a direita 31 bits ignorando o sinal
Ou seja,
0x80000000;
Em binario é: 1000 0000 0000 0000 0000 0000 0000 0000
Deslocando 31 bits ficaria
0000 0000 0000 0000 0000 0000 0000 0001

deu para entender?

eu acho que a unica dica eh “não tente fazer isso de cabeça”… use um rascunho, ajuda e muuuuuuuuito! :slight_smile:

Kabaldf, valeu! :thumbup:

Tjmm, Obrigado pela dica mas bem que poderia ter um linkzeeenho daqueles,
de uma olhada aqui: www.guj.com.br/post_com_a_resposta :wink:

JavaVinicius Machine, Valeu pela dica! :slight_smile:

Se eu estou perguntando é porque eu li o livro e nao entendi bem… :wink:

Obrigado a todos! :thumbup:

[quote=gui]Kabaldf, valeu! :thumbup:

Tjmm, Obrigado pela dica mas bem que poderia ter um linkzeeenho daqueles,
de uma olhada aqui: www.guj.com.br/post_com_a_resposta :wink:

JavaVinicius Machine, Valeu pela dica! :slight_smile:

Se eu estou perguntando é porque eu li o livro e nao entendi bem… :wink:

Obrigado a todos! :thumbup:[/quote]

É que dá um trabalhinho procurar, mas lembro que postei isso BEM explicado! :-)))

[]'s Tjmm.

Eu mexo com essas coisas de binário e hexadecimal desde o tempo que eu estudava engenharia, há uns 20 anos atrás, e [size=14]sempre[/size] - [size=18]sempre[/size] - [size=22]sempre[/size] faço primeiro no papel, nunca de cabeça.

É mais rápido, quando você pega a prática, e evita enganos.