Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

267
Visualizações
Practicando matrices y bucles en JS y no puedo hacer que mi int -> proyecto binario funcione

Sé que hay como soluciones de 8 líneas para convertir números enteros a binario, pero estoy intentando crear un pequeño programa que haga lo mismo con matrices. Estoy usando 3 matrices, la primera almacena el número original que se convertirá y todos los valores de dividir ese número por 2 y luego redondear hacia abajo cuando hay un resto, también conocido como [122, 61, 61, 30.5, 30, 15.5, 15 , etc. etc.], y la segunda matriz almacenará los dígitos binarios en función de si el resto de la división es verdadero || falso, también conocido como [0,1,0,1,1,1,1]. Todavía no está escrito, pero al final tomaré el binaryArray y lo invertiré y lo pondré en una cadena para obtener 1111010, el binario correcto para 211.

Obviamente, estoy haciendo más de una cosa mal, pero me estoy acercando, ya que puedo ver los resultados iniciales correctos cuando hago console.log en la función principal. Cualquier ayuda aquí es apreciada, excepto que no necesito saber cómo hacer todo este concepto más fácil, ya que ya he estudiado las soluciones más fáciles y estoy intentando esto a propósito para practicar.

Ejecute el fragmento de código para ver que el resultado está cerca de la solución, pero obviamente lastNumArray no se está actualizando y todo no está en bucle.

 let num = 122; let array = [num]; let binaryArray = []; let lastNumArray = array[array.length - 1]; function convertToBinary(number) { let lastNumArray = number; var result = (number - Math.floor(number)) !== 0; if (result) { binaryArray.push('1') && array.push(lastNumArray / 2) && array.push(Math.floor(array[array.length - 1])) } else { binaryArray.push('0') && array.push(lastNumArray / 2) && //this pushes 61 array.push(Math.floor(array[array.length - 1])) } } while (array > 1) { convertToBinary(lastNumArray) && lastNumArray.push(array[array.length - 1]) } console.log(array) console.log(binaryArray) console.log(lastNumArray)

Cualquier ayuda o sugerencia aquí sería muy apreciada. Probé bucles for, do while y más, y me estoy acercando, pero realmente quiero saber qué estoy haciendo mal aquí para poder aprender. Esta es la primera pequeña función que he intentado escribir solo, ¡y definitivamente me mantiene humilde!

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Podrías intentar algo así con una llamada recursiva.

 let results = [] let binary = [] function cb(number) { if (number === 0) return results.push(number) results.push(number / 2) results.push(Math.floor(number / 2)) const last_index = results.length - 1 if (results[last_index] === results[last_index - 1]) { binary.push("0") } else { binary.push("1") } cb(results[last_index]) } cb(122) console.log(results) console.log(binary) console.log(binary.reverse().join(""))

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda