C'è qualche motivo per pensare che gli operatori di spostamento di bit di destra (firmato) e >>> (senza segno) in Java funzionino diversamente? Non riesco a rilevare alcuna differenza sulla mia macchina.Qualsiasi prestazione diversa tra Java >> e >>> operatori di spostamento a destra?
Questa è puramente una domanda accademica; Sono sicuro che non sarà mai il collo di bottiglia. Lo so: è meglio scrivere ciò che intendi per primo; usa >> per divisione per 2, per esempio.
Suppongo che dipenda da quali architetture sono le operazioni implementate come un'istruzione.
Penso che entrambi saranno convertiti in istruzioni native della CPU (logico/aritmetico a destra), che alla fine richiede cicli simili. – kennytm
No, usa '/ 2' per la divisione di 2. –
+1 per farmi cercare l'operatore >>>. E non sottovalutare l'ottimizzazione del compilatore. Spesso l'ottimizzazione a questo livello può persino peggiorare le cose. – Thirler