domingo, 28 de julho de 2013

Dicas de Programação: Que diabos são as operações "<<" e ">>" no Javascript?

São operadores de bit a bit. :)

Hum... Melhor ir as explicações:

- O operador "<<" desloca o valor bit a bit de uma variável, da direita para esquerda. Exemplo:

var inteiro = 1; //(64 bits) -> ...00000001 (1)
alert("Número original: " + inteiro);
inteiro = inteiro << 1; //descola uma "casa" para a esquerda (64 bits) -> ...00000010 (2)
alert("Número deslocado uma casa para a esquerda: " + inteiro);

- E o operador ">>" descola o valor bit a bit de uma variável, da esquerda para direita. Exemplo:

var inteiro = 4; //(64 bits) -> ...00000100 (4)
alert("Número original: " + inteiro);
inteiro = inteiro >> 2; //descola duas "casas" para a direita (64 bits) -> ...00000001 (1)
alert("Número deslocado duas casas para a direita: " + inteiro);

Se formos pensar bem, estes operadores "multiplicam" ("<<") ou "dividem" (">>") o número por dois. Isso acontece por causa que os computadores trabalham com números binários ("bi" igual a "dois", entendeu? :P )

Até mais!

Nenhum comentário: