¿Te interesa saber qué es el código binario e informarte más sobre su historia y funcionamiento? Pues estás de suerte: a continuación te contamos todo lo que necesitas saber. ¡Presta atención!
El código binario
El sistema o lenguaje binario es un sistema de numeración y codificación en el que los números y caracteres son representados utilizando solamente dos posibles cifras: el uno y el cero. Es uno de los sistemas que se utilizan en computación; de hecho, el más básico de todos, debido a que todo aparato electrónico puede tener o no tener voltaje. Usualmente utilizamos el 1 para indicar que la corriente está pasando y el 0 para indicar la ausencia de esta… Y, en base a algo tan aparentemente sencillo, surge toda la informática moderna.
Pero, ¿cuál es la historia del lenguaje binario? El origen de este sistema de codificación está en el siglo III a.C., en los estudios del matemático indio Pingala, coincidiendo con el descubrimiento conceptual del número 0. Aunque los mayores avances desde su invención se dieron en el siglo XVII, con el surgimiento del sistema binario moderno y el desarrollo completo del sistema algebraico y lógico. No obstante, habría que esperar al siglo XX: los primeros usos prácticos de este lenguaje llegaron al matematizarse y modelarse el diseño de circuitos digitales. A partir de ahí fue usado para elaborar circuitos electrónicos, y ese camino nos ha llevado hasta los ordenadores que hoy conocemos, capaces de procesar millones de datos casi instantáneamente.
¿Cómo funciona?
El funcionamiento básico del código binario es sencillo: sustituir cada número en sistema decimal por un equivalente en ceros y unos. Pero el primer problema con el que se topa es la existencia de más formas de representar los números, como los sistemas hexadecimal y el octal. Estos son ámpliamente utilizados en contextos de electrónica, computación y matemáticas en general, debido a sus ventajas frente al decimal para representar y tratar ciertos tipos de datos.
Tabla de equivalencias
Decimal – Binario – Octal – Hexadecimal
0 – 0000 – 0 – 0
1 – 0001 – 1 – 1
2 – 0010 – 2 – 2
3 – 0011 – 3 – 3
4 – 0100 – 4 – 4
5 – 0101 – 5 – 5
6 – 0110 – 6 – 6
7 – 0111 – 7 – 7
8 – 1000 – 10 – 8
9 – 1001 – 11 – 9
10 – 1010 – 12 – A
11 – 1011 – 13 – B
12 – 1100 – 14 – C
13 – 1101 – 15 – D
14 – 1110 – 16 – E
15 – 1111 – 17 – F
Nos centraremos en las equivalencias entre el sistema decimal, el que todo el mundo utiliza a diario en nuestra sociedad, y sus relaciones con el código binario. Basta con observar sus representación de los tres primeros números, del 0 al 2, para entender cómo al llegar la cifra de las unidades al máximo valor posible (1) y aumentar una unidad, lo que se incrementa es la cifra de las decenas. Así, la representación de 2 no puede ser otra que 10. Por eso, porque la posición de los unos y ceros tiene influencia en su valor, decimos que se trata de un sistema posicional.
Así, nos encontramos con un sistema numérico aparentemente muy sencillo, ideal para comunicarnos con máquinas que solo son capaces de procesar dos estados para cada uno de sus bits: encendido o apagado. Pero existen formas diferentes de codificar nuestros números decimales en binario que dan lugar a representaciones muy distintas de una misma cantidad; por eso debes tener siempre presente de qué modo está codificada la información que tienes delante antes de transcribirla a nuestra numeración corriente. La más frecuente de todas ellas es el binary-coded decimal o BCD.
Binary-Coded Decimal
¿Cómo funciona esta forma de operar? El BCD es un subsistema basado en el binario más básico, pero que simplifica la codificación de números al descomponerlos en las cifras decimales que lo componen, esto es, en cifras del 0 al 9. Una vez descompuesto el número decimal, codificamos cada cifra por separado, dando lugar a un número de cuatro cifras compuesto de unos y ceros.
Veámoslo con un ejemplo. Imagina que quieres pasar el número 7806924 a binario. Podemos hacerlo en binario ordinario o en BCD. ¿Cuáles serían las diferencias?
- En lenguaje binario: 7806924 = 11101110001111111001100.
- En lenguaje BCD: descomponemos en sus cifras y codificamos cada una: 7=0111, 8=1000, 0=0000, 6=0110, 9=1001, 2=0010, 4=0100. Y, a continuación, creamos un número disponiendo cada una de esas cifras secuencialmente: 0111100000000110100100100100.
Como puedes ver, las codificaciones en binario ordinario y en BCD son muy diferentes. Dependerá de cada caso práctico la forma en que tratemos nuestros datos. Por ejemplo, en electrónica el BCD es más utilizado. Y existen más variaciones de ambos sistemas, con pequeñas diferencias y utilidades particulares.
El código binario en lenguajes de programación de bajo nivel
Un uso mucho más complejo, práctico y a gran escala es su utilización como lenguaje de programación de bajo nivel. Estos lenguajes suelen estar compuestos de una serie de reglas y órdenes que permiten a una persona escribir (programar) una serie de órdenes e instrucciones en forma de algoritmos, con el objetivo de controlar el comportamiento físico o lógico de un ordenador.
Y una de las formas de clasificar los lenguajes de programación es su nivel: cuanto mayor sea dicho nivel, más cerca estará de un lenguaje humano, dotado de estructuras sintácticas y expresiones basadas en caracteres y palabras. Esto lo hace más sencillo de operar para las personas. Por el contrario, un lenguaje de bajo nivel estará más cerca de la forma en la que la computadora entiende las órdenes. Es decir, de sucesiones numéricas que activan y desactivan determinadas funciones, dando lugar a una combinación que la hace funcionar de un modo determinado.
El lenguaje de más bajo nivel que existe es el código máquina, que el procesador entiende de forma nativa y que está basado directamente en el binario. Pero, para programar habitualmente, es impracticable. En su lugar utilizamos compiladores, software que traduce un código de más alto nivel, mucho más asequible para un programador, a este código máquina asimilable por la computadora.
Como ves, el código binario está mucho más presente en nuestra vida diaria de lo que a menudo piensas. Opera continuamente, pese a que rara vez lo veas, en todos tus aparatos electrónicos y dispositivos informáticos, como parte indispensable de su diseño y funcionamiento. ¿No te parece increíble?