Cuando trabajamos en desarrollo de software, surge a menudo la duda sobre cómo manejar distintos formatos de números en nuestro código. Para aclarar este concepto, realmente no existe lo que llamas "numero binario" ni "numero decimal". En su lugar, se sobreentiende que te refieres a la representación. Por lo tanto, la pregunta correcta debería haber sido "como reprepresentar un número en binario o en decimal", debido a que un número puede ser representado de muchas formas.
Estas formas incluyen la notación en binario, decimal, hexadecimal, base 64, octal... Para entenderlo mejor de manera práctica, por ejemplo el número "tres" se puede representar como "11" en binario, como "3" en notación decimal, como "3" en notación hexadecimal y tambien lo puedo representar como "tres", pero no deja de ser la misma cosa, el número 3. Resumiendo, un número no es mas que un número, una cantidad si lo prefieres, y ni es binario ni decimal ni nada, la representación del número es la que puede ser distinta, puede ser binaria, decimal etc.
La relación entre el sistema binario y la programación
Para entender cómo interactúa el hardware de los ordenadores con el software que escribimos, vamos a ver la relación que hay entre el sistema de numeración binario y la programación. Es fundamental recordar que el lenguaje de las máquinas digitales se basa en el sistema de numeración binario. Aunque el sistema de numeración posicional más usado por los humanos es el decimal, pero la electrónica y la programación utilizan el binario, también son útiles el octal y el hexadecimal.
Cómo convertir y representar números en C
Si deseas implementar algoritmos de conversión directamente en tu código, aprende a convertir un número decimal a binario en C con un enfoque claro y práctico. A lo largo de este proceso, verás cómo aplicar el operador de módulo, un ciclo for, un array para almacenar residuos y la biblioteca estándar stdlib.h para mejorar la salida en consola con system.
Para lograrlo, utilizaremos un programa clásico en C que convierte de decimal a binario usando un ciclo for y un array de enteros. La lógica detrás del algoritmo es muy sencilla: la idea central: dividir por 2 repetidamente y guardar el residuo de cada división. En cada iteración del ciclo, recuerda que el residuo es el bit actual y ten en cuenta que el último residuo calculado es el bit más significativo.
Lea también: IVA 21% Excel
Uso de cadenas y la función itoa
Para otros casos donde se requiere un manejo y traducción de texto a su representación de unos y ceros, te aviso de una vez que voy a usar la función itoa y el método para rellenar cadenas; pues itoa no regresará números binarios de 8 dígitos (ya que los ceros a la izquierda no cuentan, pero para el traductor son importantes).
El proceso para estructurar este código requiere un orden específico:
- Antes del ciclo, debemos definir una cadena que servirá para guardar el texto en binario de cada carácter; debe ser de al menos 8 dígitos agregando además el carácter nulo:
- Y dentro del ciclo invocamos a itoa que pondrá el resultado dentro de cadena.
Lea también: Guía IVA reducido
Lea también: ¿Cómo localizar tus XML del SAT?
