Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Hi,
habe mal eine allgemeine Frage. In der Java API wie in Joshua Blochs Buch "Effective Java" wird der hash code für einen long Wert wie folgt berechnet (int) (f^(f>>>32))
Meine frage ist jetzt, was bedeutet der Ausdruck f>>>32 und was berechnet er?
Nachtrag (auch wenn das für die hashCode-Methode gar nicht so interessant ist):
>>> verschiebt wirklich alle Bits inkl. Vorzeichenbit. Das Ergebnis ist immer positiv.
>> verschiebt ohne Vorzeichenbit, das Vorzeichen bleibt also wie es vorher war.
Die Zahl 0x80000000 ist dezimal 2147483648, was sich nicht auf int abbilden lässt. Das Liteal 0x80000000 wird aber als Zahl -2147483648 (== Integer.MIN_VALUE) interpretiert.