Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Bitweise verschiebung mit Javascript nur bis zum 32sten Bit???

Benjamin Blümchen / 6 Antworten / Flachansicht Nickles

Hallo,
ich hab mal eine Frage zur Bitweisen verschiebeung unter Javascript, also dem Mein Problem ist, das ich das Bitweise UND (also &) für Zahlen benutzen will die mehr als 32 bit haben. Irgendwie Klappt das aber nicht.
Bin für jeden Tipp dankbar!!!!

Mfg,
BB

bei Antwort benachrichtigen
Antwort Borlander
Antwort Benjamin Blümchen
Antwort mr.escape
Antwort Benjamin Blümchen
vergisses Benjamin Blümchen „Bitweise verschiebung mit Javascript nur bis zum 32sten Bit???“
Optionen

Hallo,

Deine Zahl ist 32Bit und damit implizit vom Datentyp Integer.

Bei der Multiplikation wird eine implizite Typkonvertierung nach
Long ausgeführt und das Ergebnis ist OK.

Bei der Bitverschiebung bleibt der Datentyp erhalten und
damit ist das Ergebnis 0.
Du musst Deine Zahl explizit als Long definieren "2147483648L",
dann sollte alles OK sein.
(Ich habs nicht getestet...)
Siehe auch unter
http://java.sun.com/docs/books/jls/second_edition/html/expressions.doc.html#5121

Gruss, vergisses

bei Antwort benachrichtigen