>Indica maior que , como: if(a>b)...O resultado é do tipo booleano
>> significa deslocamento para a direita assinado , como: int i=15 O resultado de i>>2 é 3 e a parte movida será descartada.
Pode ser mais fácil de entender convertendo-o para o formato binário. O resultado de 0000 1111(15) deslocado 2 bits para a direita é 0000 0011(3), e o resultado de 0001 1010(18) deslocado 3 bits para a direita é 0000 0011. (3).
>>>Deslocamento à direita não assinado :
Mova todos os números para a direita pelo número correspondente de dígitos na forma binária, desloque os bits inferiores (descarte) e preencha os bits vazios nos bits superiores com zeros. O mesmo que o deslocamento para a direita com sinal para números positivos, mas diferente para números negativos.
Outras estruturas são semelhantes a >>.
O código de teste é o seguinte:
teste de classe pública{ public static void main(String[] args){ System.out.println("1. O seguinte teste>:"); ) ; System.out.println("/n2, seguinte teste >>:"); System.out.println("15 >> 2 = " + (15 >> 2)); System.out.println("/n3, os seguintes testes >>>:"); for (int i = 0; i < 10; i++){ for (int j = 0; j < 500; j = j + 5 ) { System.out.println(j / (int) (Math.pow(2, i))); System.out.println(j >>> i);
Outros operadores bit a bit em JAVA:
~ Bitwise NOT (NOT) (operação unária)
& bit a bit E
OU bit a bit (OU) |
^ XOR bit a bit (XOR)
>>Mover para a direita
>>> Shift para a direita, preenchendo os bits vazios à esquerda com 0s
<<deslocar para a esquerda
&= atribuição AND bit a bit
|= Atribuição OR bit a bit
^= Atribuição XOR bit a bit
>>= atribuição de turno à direita
>>>= Atribuição de deslocamento para a direita, os bits vazios à esquerda são preenchidos com 0
<<= atribuição do turno esquerdo