Operação bit a bit - Zero-fill right shift (>>>) usa?
De um modo geral, pouco mudando (>> , <<
) nos permite dividir / multiplicar por^2
Exemplo:
9 (base 10): 00000000000000000000000000001001 (base 2)
--------------------------------
9 >> 2 (base 10): 00000000000000000000000000000010 (base 2)
= 2 (base 10)
Paranegativo números:
Da mesma forma,-9 >> 2
rendimentos-3
porque o sinal é preservado:
-9 (base 10): 11111111111111111111111111110111 (base 2)
--------------------------------
-9 >> 2 (base 10): 11111111111111111111111111111101 (base 2) = -3 (base 10)
Mas olhando>>>
que age da mesma forma para números positivos, mas se comporta de maneira diferente para números negativos:
Zero bits são deslocados da esquerda
Não consigo encontrar nenhum motivo / uso para mudar0
da esquerda (o que torna todo o número positivo) da esquerda:
-9 (base 10): 11111111111111111111111111110111 (base 2)
--------------------------------
-9 >>> 2 (base 10): 00111111111111111111111111111101 (base 2) = 1073741821 (base 10)
Pergunta:
Em quais cenários devo usar>>>
? Eu não entendo porque eu deveria querer zeros da esquerda e bagunçar meu número negativo.