Operador <<

4 respostas
_

E ai galera!!!

Eu fiz o seguinte código mas não consegui entender oq ele ta me retornando:

public class Operadores
{
	public static void main(String args[])
	{
		for(int i=0;i<=10;i++)
		{
			int a1  = i << 0;
			int a2  = i << 1;
			int a3  = i << 2;
			int a4  = i << 3;
			int a5  = i << 4;
			int a6  = i << 5;
			int a7  = i << 6;
			int a8  = i << 7;
			int a9  = i << 8;
			int a10 = i << 9;
		
		
			System.out.println(a1+","+a2+","+a3+","+a4+","+a5+","+a6+","+a7+","+a8+","+a9+","+a10);
		}		
		
	}
}

Quando eu faço algo tipo 4<<3, o que q ele me retorna???

4 Respostas

_

Pelo que eu pude entender ele retorna o dobro do número anterior.Fora essa solução e a fómula da P.A, alguem saberia alguma outra?

C

Olá PauliM,

O operador << desloca uma quantidade de bits para a esquerda do número que você passa como parâmetro. No seu exemplo, você tá deslocando 0, 1, 2, 3, 4… n bits para a esquerda do número i. Por isso que a cada operação dessa o número é dobrado (cada bit deslocado para a esquerda dobra o número. Sabe usar números binários né?)

Até mais,

S

Ele desloca n bits à esquerda.

4 << 3
4 = 0…0000100, deslocando 3 bits:
0…000100000 = 32

_

Blz!!!

Valeu mesmo galera!!!

Criado 15 de maio de 2006
Ultima resposta 16 de mai. de 2006
Respostas 4
Participantes 3