Operadores << , >> e >>>

7 respostas
J

Em um simulado que fiz encontrei uma questão usando um dos operadores:

“<<” “>>” e “>>>” :Era mais ou menos assim:

public class TestBit { 

   public static void main(String[] args) { 
      int n = 4 << 1; 
      System.out.println(n); 
   } 
}

A Resposta é: 8.
Procurando nas minhas apostilas achei uma definição para os operadores:

“Translação (bit a bit) à esquerda, direita sinalizada, e direita não sinalizada (o bit de sinal será 0)”

Mais ainda estou confuso. Se alguém puder me explicar como esses operadores funcionam eu agradeço!!!

7 Respostas

CarlosEduardoDantas

4 em binario equivale a 000000100 … essa operação 4 << 1 significa deslocar todos os bits para a esquerda em 1 casa… portanto fica 00001000 o que resultará em 8… se fosse 4 >> 1, deslocaria para a direita, o que resultaria em 2…

mas caso voce esteja estudando scjp 5, fica tranquilo que esse conteudo nao será cobrado… esse conteudo era cobrado na prova scjp 1.4

J

ainda bem que não é cobrado na 5.
Mais valeu mesmo cara!!!

anderson.bonavides

Apesar de imaginar que ja sabem mais os operadores válidos são: >, <, >= ,<=, !=, =, ==. Se vc achar alguma coisa estranha fora esses vai ver algo do tipo: ||, &&, | , &.

R

faltaram, pelo menos:

  • ! (ex.: !variavelBoolean)
  • instanceof (ex.: d instanceof Dog)
  • ? : (ex.: variavelBoolean ? <comandos_se_true> : <comandos_se_false>)
eltonk

Esse faltou mesmo… :smiley:

Não é considerado um operador…

Conhecido como IF TERNÁRIO, não é considerado um operador

Raff

Cara quer ver um jeito fácil de aprender isso ai..

seguinte quando você faz assim:
int n = 4 &lt;&lt; 1;

Você está fazendo um deslocamento a esquerda nesse caso (deslocamento da direito seria >> com esses operador..). Enfim, isso é a mesmo coisa que você fazer quatro vezes dois elevado a 1.

int n = 4 &lt;&lt; 2;// aqui é quatro vezes dois elevado a 2 ... 4 *2² ...

Espero ter ajudado

Raff

Verdade pessoal esse operador é chato huauha

Criado 16 de novembro de 2007
Ultima resposta 20 de nov. de 2007
Respostas 7
Participantes 6