Operador <<

E ai galera!!!

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

[code]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);
	}		
	
}

}
[/code]

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

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?

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,

Ele desloca n bits à esquerda.

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

Blz!!!

Valeu mesmo galera!!!