En los documentos de MDN, hay este ejemplo debajo del operador de desplazamiento a la derecha.
const a = 5; // 00000000000000000000000000000101 const b = 2; // 00000000000000000000000000000010 const c = -5; // -00000000000000000000000000000101 console.log(a >> b); // 00000000000000000000000000000001 // expected output: 1 console.log(c >> b); // -00000000000000000000000000000010 // expected output: -2 5 >> 2 tiene sentido porque desplazas los dígitos 2 espacios a la derecha. En el segundo ejemplo de -5 >> 2 , ¿por qué aparentemente solo se desplaza hacia el espacio correcto aunque sea >> 2 ?
Documentos de MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Right_shift
Al igual que el lado de Johnny, es posible que desee verificar la regla del complemento a dos. El número más a la izquierda podría ser 1 dentro de 0 . Es posible que desee verificar el ejemplo con -9 , este ejemplo lo ayudará a comprender mejor.