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

606
Visualizações
programa JavaScript para convertir binario a decimal

Estoy tratando de hacer un programa que pueda hacer conversiones tanto de decimal a binario como de binario a decimal.

Tengo problemas con la parte binaria a decimal del código. Perdóname, ya que sé que la codificación está bastante incompleta, pero no puedo entender dónde me estoy equivocando.

Actualmente obtengo un resultado parcialmente correcto en el campo de cálculo (por ejemplo, "hay un 1 en el valor de (2^0)" y "hay un 2 en el valor de (2^1)").

Sin embargo, cuando escribo 11 como decimal, el campo de cálculo repite el código dos veces (por ejemplo, "hay un 1 en el valor de (2^0)", "hay un 2 en el valor de (2^1)" ,"hay un 1 en el valor de (2^0)", "hay un 2 en el valor de (2^1)").

Obviamente, solo debe dar esos valores una vez por número.

Además, el campo de salida para el número binario real también es incorrecto, y algunas de las variables no se utilizan/no se necesitan, pero he estado tratando de solucionar el problema de repetir valores primero antes de trabajar en eso.

¡Cualquier ayuda sería muy apreciada!

 function convertByArray(bval) { var rB = new Array(); var outstr = ""; var p, t, a, o; o = 0; for(var i=0; i<bval.length; i++) { var b = bval.charCodeAt(i); t = 2; p = i; a = t ** p; if(a === t ** p) { outstr += a; } var bV = b; $("txtCalc").value += "There is a " + a + " in the value " + "(" + t + "^" + p + ")" + "\n"; o += 1; b = bV; $("txtOut").value = outstr; } }
about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Puede simplificar su código si accede al bit más significativo de la cadena de bits tomando la longitud (menos uno) y restándola de la posición actual. Puede acceder a caracteres de cadena como una matriz.

 var $txtCalc = $(".txtCalc"); var $txtOut = $(".txtOut"); binaryToDecimal("10010101"); // 149 function binaryToDecimal(bval) { var base = 2, result = 0; for (var pos = 0; pos < bval.length; pos++) { var bit = +bval[(bval.length - 1) - pos]; if (bit === 1) { result += base ** pos; } var message = "There is a " + bit + " in the position (" + base + "^" + pos + ")"; $txtCalc.val($txtCalc.val() + message + "\n"); } $txtOut.val(result); }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input class="txtOut" /> <br /> <textarea class="txtCalc" rows="10" cols="60"></textarea>

Alternativamente, puede simplemente su programa a lo siguiente. En JavaScript, puede analizar cualquier número en cualquier base y formatear a otra base.

 var $txtOut = $(".txtOut"); binaryToDecimal("10010101"); // 149 function convertFromBaseToBase(number, fromBase, toBase) { return parseInt(number, fromBase).toString(toBase); } function binaryToDecimal(bval) { $txtOut.val(convertFromBaseToBase(bval, 2, 10)); }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <input class="txtOut" />

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