Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

609
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!