Ya vimos cómo transformar un decimal a binario en C a mano, es decir, con un ejercicio hecho por nosotros, ignorando el rendimiento o velocidad.
Como lo dije en ese post, lo hicimos así porque era un simple ejercicio. Veamos ahora cómo podemos hacerlo de la forma correcta y repasemos las funciones ltoa
e itoa
.
Varios de mis lectores me han pedido la conversión de decimal a otras bases soportando el punto decimal o parte fraccionaria. Les informo que ya he creado una función para ello. Puedes ver el post aquí.
Estas funciones convierten un long o un int a un string, cambiando la base de los mismos. El nombre quiere decir, respectivamente, long to ascii e int to ascii.
Dichos métodos vienen en la librería stdlib.h.
La única diferencia es el tipo de dato que reciben, itoa recibe un entero o int, pero ltoa recibe un long.
Las llamadas a los métodos son iguales, es decir, reciben el mismo número de argumentos.
Hablar es de mal gusto, así que aquí dejo el código:
La parte más importante es en donde llamamos a ltoa y le pasamos 3 argumentos:
La salida es esta:
El mismo código que usamos arriba podemos usarlo aquí, simplemente cambiando la base. Quedaría así:
Aquí dejo lo que pasa al ejecutarlo:
Como vemos lo que cambia es la base de 2 a base 8.
Lo mismo de arriba pero cambiando la base a 16. Queda así:
Lo podemos ejecutar y probar:
Ya que sabemos que la base puede ser 2, 8 o 16 (también 10, pero no serviría porque el número decimal ya es base 10) así que podemos pedirle al usuario la base y dependiendo de ella convertir el número.
El programa queda así:
Con la siguiente salida:
La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…
Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…
El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…
El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…
En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…
Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…
Esta web usa cookies.
Ver comentarios
como puedo convertir binario a decimal de esa misma forma..
Hola. Aquí tienes: Binario a decimal en C
Saludos :)
una pregunta mas con itoa y ltoa se puede realizar hexadecimal a binario y a las otras conversiones, como evitando el proceso mas extenso o es la libreria stdlib.h que permite hacerlo con menos proceso. Gracias
Hola, en los próximos días publicaré más entradas para saber cómo realizar las conversiones. Pero no te compliques, si quieres convertir hexadecimal a binario primero convierte hexadecimal a decimal, y luego decimal a binario.
si es interansante. los estare esperando para ver y a prender. gracias.
Hexadecimal a decimal en C.