Linksverschiebung mit einer negativen Verschiebungszahl in Javascript
Was mir in Javascript aufgefallen ist -
a << -1
Returns 0 when a = even.
Returns -2147483648 when a = odd.
In ähnlicher Weise werden unterschiedliche Werte zurückgegeben, wenn-1
wird zu einem anderen geändert-ve
Nummer. Kann jemand erklären, welche Bit-Operationen unter der Haube stattfinden? Oder ist das Verhalten undefiniert?
Vielen Dank
BEARBEITEN
Sollte auch nicht die Verschiebung nach rechts auf Null setzen, d.h.-2 >>> 1
Rückkehr7
?
-2 = 1110. Nach der Verschiebung mit Nullfüllung nach rechts sollte 0111 = 7 sein
abera = -2; console.log(a >>> 1);
kehrt zurück2147483647