Conversión de decimal a binario en C
Clase 11 de 12 • Curso de Funciones en C
Contenido del curso
Manejo de funciones en C
Bibliotecas estándar de funciones
Cierre
Conviértete en quien domina la conversión de decimal a binario en C: aquí verás cómo aplicar el ciclo for, el operador módulo (%) y un array para almacenar resultados, además de usar la biblioteca estándar stdlib.h para ejecutar system y mejorar tu salida en la terminal. Todo con un enfoque práctico en Visual Studio Code y validación rápida en Google Chrome.
¿Cómo convertir decimal a binario en C con for y módulo?
El núcleo de la lógica es directo: dividir el número entre dos, guardar el resto en un array y repetir hasta que el número ya no se pueda dividir. Con esto, el for controla las iteraciones y el módulo captura cada bit.
- Divide el número entre 2 y guarda el resto en el array.
- Vuelve a dividir entre 2 y guarda el nuevo resto.
- Repite mientras el número sea mayor que cero.
- Imprime el array de atrás hacia adelante para formar el binario correcto.
Fragmento guía en C:
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int binaryNumber[12]; // hasta doce dígitos binarios.
int n, i; // n: número a convertir, i: índice.
printf("Ingrese un valor decimal:\n");
// leer n aquí.
for (i = 0; n > 0; i++) {
binaryNumber[i] = n % 2; // resto: 0 o 1.
n = n / 2; // divide entre dos.
}
printf("El resultado de la conversión es: ");
for (i = i - 1; i >= 0; i--) {
printf("%d", binaryNumber[i]);
}
printf("\n");
return 0;
}
¿Por qué imprimir el array en orden inverso?
Cada resto representa un bit desde el menos significativo hacia el más significativo. Por eso, al final se imprime desde el último índice guardado hasta el primero. Recuerda además que los índices del array comienzan en cero: si se almacenaron cinco restos, el último quedó en la posición cuatro.
¿Qué papel tienen stdlib.h, system y el color de la terminal?
La biblioteca estándar stdlib.h habilita la función system, útil para enviar comandos al sistema operativo y mejorar la experiencia en la terminal: limpiar la pantalla o cambiar colores antes de pedir datos e imprimir resultados.
- Limpieza de la terminal con system y comando cls.
- Cambio de color con system y color: códigos hexadecimales para fondo y texto.
- Ejemplo usado: “cero es negro” y “nueve llega a light blue”; la letra “f” corresponde a “blanco brilloso”.
Fragmento de uso de system:
#include <stdlib.h>
// ...
system("cls"); // limpia la terminal.
system("color 9f"); // fondo azul claro y texto blanco brilloso.
Consejo práctico: compila y ejecuta con F6 o fn+F6 en Visual Studio Code para probar rápidamente. Al introducir 30, se anunció “Usted va a convertir el número treinta a binario” y la salida mostró “once, once, cero”; luego se validó en Google Chrome que corresponde a 30 en decimal.
¿Qué habilidades y conceptos clave se practican?
Más allá del resultado, se refuerzan fundamentos de programación en C que usarás a diario.
- Uso de bibliotecas con
#include <stdio.h>y#include <stdlib.h>. - Dominio del ciclo for: condición basada en
n > 0, incremento coni++y recorrido inverso coni--. - Manejo de arrays de tamaño fijo: aquí se define 12 posiciones para el binario.
- Aplicación del operador módulo (%) para obtener restos 0 o 1.
- Comprensión del índice base cero: último dato en posición
i - 1. - Organización del flujo de E/S: pedir el número (“Ingrese un valor decimal”) e imprimir la conversión.
- Uso de system para limpiar la terminal y configurar color: por ejemplo,
clsycolor 9f. - Verificación externa rápida en Google Chrome tras imprimir el resultado.
¿Con qué números te gustaría probar la conversión y qué mejoras visuales aplicarías con system y color? Comparte tus ideas y resultados.