¿Hay alguna razón para pensar que los operadores de desplazamiento de bit a la derecha >> (con signo) y >>> (sin signo) en Java funcionarían de manera diferente? No puedo detectar ninguna diferencia en mi máquina.¿Alguna vez el rendimiento es diferente entre Java >> y >>> operadores de desplazamiento a la derecha?
Esto es puramente una cuestión académica; nunca será el cuello de botella, estoy seguro. Lo sé: es mejor escribir lo que quieres decir antes que nada; use >> para la división por 2, por ejemplo.
Supongo que se trata de qué arquitecturas tienen qué operaciones implementadas como una instrucción.
Creo que ambos se convertirán a instrucciones originales de la CPU (lógica/aritmética a la derecha) que con el tiempo toma ciclos similares. – kennytm
No, use '/ 2' para la división por 2. –
+1 para hacer que busque el operador >>>. Y no subestimes la optimización que hace el compilador. A menudo, la optimización en este nivel puede empeorar las cosas. – Thirler