En la respuesta aceptada en mi pregunta anterior (What is the fastest way to generate a random integer in javascript?), me preguntaba cómo un número pierde sus decimales a través del símbolo |
.¿Cómo x | 0 planta el número en JavaScript?
Por ejemplo:
var x = 5.12042;
x = x|0;
¿Cómo funciona ese piso el número de 5
?
Algunos ejemplos más:
console.log(104.249834 | 0); //104
console.log(9.999999 | 0); // 9
Debe tener en cuenta que el uso de operadores bit a bit lo limitará a enteros con signo de 32 bits. '((Math.pow (2,32)/2) -1) | 0; // 2147483647' Quita el '-1' y no obtendrás el resultado deseado. '((Math.pow (2,32)/2)) | 0; // -2147483648' –
Interesante. Esa es probablemente la razón por la cual esta función es ligeramente más rápida que la función 'Math.floor (x)'. http://jsperf.com/floor-or-or – user824294
no es en realidad 'suelo', intente con '-1.23' para ver qué sucede – ajax333221