tengo este pedazo de código javascript que estoy tratando de entender¿Qué significa '>>>' en javascript?
return (n >>> 0) * 2.34e10;
Entonces, ¿qué significa >>>?
y gracias de antemano ... esta es mi primera pregunta sobre SO
tengo este pedazo de código javascript que estoy tratando de entender¿Qué significa '>>>' en javascript?
return (n >>> 0) * 2.34e10;
Entonces, ¿qué significa >>>?
y gracias de antemano ... esta es mi primera pregunta sobre SO
Es un zero-fill right shift. Esto no hará nada con los números enteros positivos o con 0, pero sí con los números negativos (porque es most significant bit changes to zero).
2 >>> 0 === 2
1 >>> 0 === 1
0 >>> 0 === 0
-1 >>> 0 === 4294967295
-2 >>> 0 === 4294967294
-3 >>> 0 === 4294967293
Debe tenerse en cuenta (gracias Andy!) Que poco cambio en JavaScript converts the arguments to signed 32-bit integers antes de hacer el cambio. Por lo tanto >>> 0
hace esencialmente un Math.floor
en números positivos:
1.1 >>> 0 === 1
1.9 >>> 0 === 1
Es un operador de bits. Significa cambio n por 0 bits. No estoy seguro de lo que está tratando de hacer en la instancia que muestra.
a >>> b // shift a by b bits to the right, padding with zeros
'(a >>> 0)' se utiliza para forzar a 'a' a un entero sin signo de 32 bits. –
Quería +1, pero me sentí obligado a realizar primero una edición menor ;-) También podría ampliar lo que hará con las carrozas positivas, si quiere :-) –
@Andy Muy apreciado, y buen punto. – Skilldrick
Brillante !! ... Muchas gracias Skilldrick, Andy E y acqu13sce. Gracias también por las referencias. –