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
Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge
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