Operadores e Atribuição

6 respostas
keller

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?

6 Respostas

T
gui:
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?

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.

K

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?

Java_Vinicius_Machin

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

keller

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:

T

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:

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

[]'s Tjmm.

T

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.

Criado 12 de abril de 2005
Ultima resposta 13 de abr. de 2005
Respostas 6
Participantes 5