¿Qué representa 'x << ~ y' en JavaScript?
¿Qué representa 'x << ~ y' en JavaScript?
Entiendo que el bit a bitSHIFT
la operación hace esto :,
x << y AS x * 2y
Y una tilde~
el operador hace:
~x AS -(x+1)
Entonces, supongo lo siguiente:
5 << ~3 AS 5 * 2-4 or 5 * Math.pow(2, -4)
Debería resultar en0.3125
.
Pero cuando corro5 << ~3
en resultado de1342177280
.
¿Qué es una explicación paso a paso? Cómo y por qué esta combinación de operaciones resulta en1342177280
en lugar de0.3125
?
(Esta pregunta es similar a la pregunta de desbordamiento de pila¿Qué son los operadores bit a bit? sobre el bit a bitSHIFT
operador.)