Estou começando com Java e lendo uma apostila encontrada na internet ele me falou para procurar sobre os operadores “>>” e “<<”, alguém sabe me explicar em poucas palavras para que os mesmos servem ?
Obrigado !
Estou começando com Java e lendo uma apostila encontrada na internet ele me falou para procurar sobre os operadores “>>” e “<<”, alguém sabe me explicar em poucas palavras para que os mesmos servem ?
Obrigado !
Resumidamente "estes operadores sao responsaveis por empurrar os bits de um numero para direita >> ou esquerda << produzindo um novo numero." [SIERRA Kathy, BATES Bert]
Como um str_pad do PHP ? Como eu utilizaria …
Um exemplo:
public class Operadores
{
public static void main(String[] args)
{
int a = 2; // 0010 em binário;
a = a >> 1; // deslocar 1 vez a direita
System.out.println("a = " + a); // a = 1 (0001)
int b = 4; // 0100 em binário;
b = b << 2; // deslocar 2 vezes a esquerda
System.out.println("b = " + b); // b = 16 (00010000)
}
}
Espero que ajude....
Macafe,
Existem 3 tipos de deslocadores de bits. Sendo 2 destes para a direita (>> e o >>>(sem sinal)) e 1 para a esquerda <<..
Um numero inteiro 2 por exemplo corresponde a
00000000000000000000000000000010 = 2
Deslocando um bit a direita deste teriamos 2 >> 1
00000000000000000000000000000001 = 1
Deslocando um bit a direita sem sinal teriamos 2>>>1
00000000000000000000000000000001 = 1
Deslogando um bit a esquerda teriamos 2<<1
000000000000000000000000000000100 = 4
O bit de sinal é o da ponta esquerda. Deslocamento de bit com sinal tem que levar em consideração o bit de sinal, quando positivo (0) só desloca normalmente, quando negativo (1) ha uma regra a mais que naõ vo explicar agora pra não atrapalhar, entenda o deslocamento de bit sem sinal primeiro.
Abraços.