Was bedeutet 'x < < ~ y' in JavaScript?Was bedeutet "x << ~ y" in JavaScript?
Ich verstehe, dass die bitweise SHIFT
Operation tut dies:
x << y AS x * 2y
Und ein ~
Tilde Operator tut:
~x AS -(x+1)
Also, ich nehme an, die folgenden:
5 << ~3 AS 5 * 2-4 or 5 * Math.pow(2, -4)
Es sollte in 0.3125
resultieren.
Aber wenn ich 5 << ~3
ausführen, ergibt es 1342177280
.
Was ist eine Schritt-für-Schritt-Erklärung? Wie und warum führt diese Kombination von Operationen zu 1342177280
anstelle von 0.3125
?
(Diese Frage ist ähnlich Überlauf Frage What are bitwise operators? über die bitweise SHIFT
Operator zu stapeln.)
Wie könnte eine Bit-Shift-Operation ein gebrochenes Ergebnis wie 0,3125 ergeben? – edc65
@ edc65 Das ist die Annahme, dass die Antwort auf dem grundlegenden Lernen von 'XOR' und Tilde' ~ 'basiert. Ich habe absolut keine Ahnung, wie das eigentlich funktionieren soll. – choz
nach '! -' und '<< ~' was kommt als nächstes? Ich soll posten "Was macht der'^< dhein