Esta publicación es un poco Friki (lo sé) 😎, pero quiero mostrarles 3 formas de saber si un número es par o no con JavaScript (bueno, en realidad 2 formas, por que la primera es la que todos conocemos)
1. Operador Módulo (%)
El operador %
en JavaScript devuelve el resto de la división de un número por otro. Para verificar si un número es par, podemos usar % 2
. Si el resto es igual a 0
, entonces el número es par.
Ejemplo:
function esPar(numero) {
return numero % 2 === 0;
}
console.log(esPar(4)); // true
console.log(esPar(7)); // false
Explicación:
- numero % 2: Calcula el resto de la división de numero entre 2.
- === 0: Compara el resultado con 0 para determinar si es par.
- Si numero % 2 es 0, significa que numero es divisible exactamente por 2, por lo tanto, es par.
Ejemplo detallado:
Para numero = 4:
- 4 % 2 da como resultado 0.
- Por lo tanto, 4 es par.
Para numero = 7:
- 7 % 2 da como resultado 1.
- Por lo tanto, 7 no es par.
2. Operador Bitwise AND (&)
El operador bitwise &
realiza una operación AND bit a bit entre dos números. Para determinar si un número es par, podemos usar numero & 1 === 0
. Esto se debe a que el bit menos significativo (el último bit) de un número par siempre es 0
en binario.
Ejemplo:
function esPar(numero) {
return (numero & 1) === 0;
}
console.log(esPar(4)); // true
console.log(esPar(7)); // false
Explicación:
- numero & 1: Realiza una operación AND bit a bit entre numero y 1.
- (numero & 1) === 0: Comprueba si el resultado es igual a 0 para determinar si numero es par.
- Si el último bit de numero es 0, entonces numero es par.
Ejemplo detallado:
Para numero = 4:
- En binario, 4 es 100.
- 1 en binario es 001.
- 4 & 1 realiza una operación AND bit a bit: 100 & 001 resulta en 000 (que es 0 en decimal).
- Por lo tanto, 4 es par.
Para numero = 7:
- En binario, 7 es 111.
- 7 & 1 realiza una operación AND bit a bit: 111 & 001 resulta en 001 (que es 1 en decimal).
- Por lo tanto, 7 no es par.
3. División Entera y Comparación
Otra forma de verificar si un número es par es dividir el número por 2
, redondear hacia abajo utilizando Math.floor
, y luego multiplicar el resultado nuevamente por 2
. Si el resultado es igual al número original, entonces el número es par.
Ejemplo:
function esPar(numero) {
return Math.floor(numero / 2) * 2 === numero;
}
console.log(esPar(4)); // true
console.log(esPar(7)); // false
Explicación:
Math.floor(numero / 2):
- Divide numero por 2 y redondea hacia abajo para obtener el cociente entero.
- * 2: Multiplica el resultado por 2.
- === numero: Compara este resultado con el número original para determinar si numero es par.
- Si numero dividido por 2 y multiplicado por 2 es igual a numero, entonces numero es par.
Ejemplo detallado:
Para numero = 4:
- 4 / 2 da como resultado 2.
- Math.floor(2) da como resultado 2.
- 2 * 2 da como resultado 4.
- Por lo tanto, 4 es par.
Para numero = 7:
- 7 / 2 da como resultado 3.5.
- Math.floor(3.5) da como resultado 3.
- 3 * 2 da como resultado 6.
- Por lo tanto, 7 no es par.
Esta publicación esta enfocada en ayudar a generar nuevos conocimientos y lógica de programación, espero que les sea de utilidad.