Ich verstehe, was Nullauffüllungs Verschiebung nach rechts und Ergebnisse liefert es durchaus Sinn machen, wenn der zweite Operand nicht null ist:>>> (Nullauffüllungs Verschiebung nach rechts), wenn der zweite oprand Null
-7 >>> 1
2147483644
vergleichen mit
-7 >> 1
-4
Aber wenn der zweite Operand Null:
-7 >> 0
-7 // Looks right!
-7 >>> 0
4294967289 // What? Why?
Wenn ich Null-Bits bin Verschiebung, bedeutet nicht, es ich bin überhaupt nicht verschieben? Wenn das der Fall ist, sollte es mir nicht die ursprüngliche Nummer geben? Ich würde -7 >>> 0 === -7
erwarten und auch
-7 >>> 32
4294967289
Auch hier definitionsgemäß, würde ich -7 >>> n === 0 where n >= 32
erwarten, da alle Ziffern Nullen werden!
https://stackoverflow.com/questions/1822350/what-is-the-javascript-operator-and-how-do-you-use-it – DAle
@ DAle das hilft. Und die Spezifikation gibt den genauen Mechanismus. Siehe unten – Boyang