Y a-t-il des raisons de penser que les opérateurs de décalage de bits >> (signé) et >>> (non signés) de Java fonctionneraient différemment? Je ne peux pas détecter de différence sur ma machine.Jamais des performances différentes entre les opérateurs Java >> et >>> right shift?
Ceci est une question purement académique; ça ne va jamais être le goulot d'étranglement, j'en suis sûr. Je sais: il vaut mieux écrire ce que vous voulez dire avant tout; utilisez >> pour la division par 2, par exemple. Je suppose qu'il revient à savoir quelles architectures ont les opérations implémentées en tant qu'instruction.
Je pense que les deux seront convertis en instructions CPU natives (droite/arithmétique droite-décalage) qui prend finalement des cycles similaires. – kennytm
Non, utilisez '/ 2' pour la division par 2. –
+1 pour me faire rechercher l'opérateur >>>. Et ne sous-estimez pas l'optimisation du compilateur. Souvent, l'optimisation à ce niveau peut même empirer les choses. – Thirler