Nuevo en la codificación, se me ocurrió la idea de convertir números decimales a binarios, así que hice este programa.
Sin embargo, aunque siento que la lógica es correcta, no estoy seguro de por qué no devuelve una matriz completa de ceros y 1 correspondientes al número decimal que se ingresó.
Después de obtener la matriz, planeo hacer rest.join('') para regresar como una cadena.
Si alguien pudiera compartir sus pensamientos sería genial.
Actualmente solo consola una matriz como ['1'] o ['0'].
const getBinary = (num) => { let remainder = []; let quotient = Math.floor(num / 2); while (num != 0) { if ((quotient * 2) < num) { remainder.push('1'); } else if ((quotient * 2) === num) { remainder.push('0'); } num = Math.floor(num / 2); return remainder; } }; console.log(getBinary(6));Pones la declaración de devolución en el ciclo while para que solo se reproduzca una vez. Debe colocar la declaración de devolución antes del último } . Además, debe actualizar la variable del cociente en cada bucle.
const getBinary = (num) => { let remainder = []; let quotient = Math.floor(num / 2); while (num != 0) { if ((quotient * 2) < num) { remainder.push('1'); } else if ((quotient * 2) === num) { remainder.push('0'); } num = Math.floor(num / 2); quotient = Math.floor(num / 2); // added this line // return remainder; move this line } // to there return remainder; }; console.log(getBinary(6));