hemos visto como convertir un número en base 8 o
base 16 en base 10. Pero dichos números debíamos de escribirlos implícitamente, es decir en
el programa. Hagamos un programa que:
- Nos preguntara un número en base 16 (prompt)
- Nos diera como resultado el número anterior pero en base 10
Vamos a ver si lo conseguimos:
Código del segundo alert Script.
Ejecútalo para el número “FF32”, a
ver si es verdad que nos da “65330” como resultado.
Observa el funcionamiento del segundo alert script
• m = prompt(“Escribe un número en base 16”, “”)
Lo que escribamos (un número en base 16), se guardará en la variable “m” como texto
(ya que no hemos puesto ningún “parseInt” ni “parseFloat”).
• n =parseInt(m,16)
La variable “n” guardará el número en base 10
Es decir: parseInt(cadena, 16), transforma la “cadena”, en nuestro ejemplo un número
escrito en base 16, en el correspondiente número (no cadena) pero en base decimal.
Vamos a ver si el procedimiento sirve para cualquier otra base...
Antes de todo veamos unos cuantos números en diferentes bases:
367 = 6 + 3.7 = 27 en base 10
1234 = 3 + 2.4 + 1.42 = 27 en base 10
51346 = 4 + 3.6 + 1.62 + 5.63 = 1138 en base 10
Código del tercer alert Script.
- Probalo con los números
anteriores.
Veamos el problema inverso: dado un número en base 10, nos interesa convertirlo a base 7,
por ejemplo.
Matemáticamente:
Sea 593 un número en base 10
59310 = 15057
En JavaScript deberíamos hacerlo de la siguiente forma: