Frage

Gibt es überhaupt Grund zu glauben, die >> (signiert) und >>> (unsigned) rechte Bit-Shift-Operatoren in Java würde sich anders verhalten? Ich kann keinen Unterschied auf meiner Maschine erkennen.

Dies ist eine rein akademische Frage; es wird nie der Engpass sein, die ich bin sicher. Ich weiß: es ist am besten zu schreiben, was Sie meine Linie; Verwendung >> für die Division durch 2, zum Beispiel.

Ich nehme an, es kommt darauf an, welche Architekturen Operationen, die als Befehl implementiert.

War es hilfreich?

Lösung

Nein. Ihr Compiler wird diese Bytecode übersetzen und die JVM den Bytecode für Ihre Architektur interpretieren. Ich denke, es ist sicher anzunehmen, dass Ihre Architektur einen Befehlssatz aufweist, die beiden Operationen umfassen in wenigen Taktzyklen durchgeführt werden.

Wie auch immer, es gibt einen Unterschied im Verhalten dieser Operatoren, so dass es nicht ist, wie Sie sie einfach austauschen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top