Un código binario representa texto , instrucciones de un procesador de computadora o cualquier otro dato mediante un sistema de dos símbolos. El sistema de dos símbolos que se utiliza a menudo es "0" y "1" del sistema de numeración binario . El código binario asigna un patrón de dígitos binarios, también conocidos como bits , a cada carácter, instrucción, etc. Por ejemplo, una cadena binaria de ocho bits (que también se denomina byte) puede representar cualquiera de los 256 valores posibles y, por lo tanto, puede representar una amplia variedad de elementos diferentes.
En informática y telecomunicaciones, los códigos binarios se utilizan para diversos métodos de codificación de datos, como cadenas de caracteres , en cadenas de bits. Esos métodos pueden utilizar cadenas de ancho fijo o de ancho variable . En un código binario de ancho fijo, cada letra, dígito u otro carácter se representa mediante una cadena de bits de la misma longitud; esa cadena de bits, interpretada como un número binario , suele mostrarse en tablas de códigos en notación octal , decimal o hexadecimal . Hay muchos conjuntos de caracteres y muchas codificaciones de caracteres para ellos.
Una cadena de bits , interpretada como un número binario, se puede traducir a un número decimal . Por ejemplo, la a minúscula , si se representa mediante la cadena de bits (como en el código ASCII estándar ), también se puede representar como el número decimal "97".01100001
El sistema binario moderno, base del código binario, fue inventado por Gottfried Leibniz en 1689 y aparece en su artículo Explication de l'Arithmétique Binaire . El título completo se traduce al inglés como "Explication of the binary arithmetic", que utiliza solo los caracteres 1 y 0, con algunas observaciones sobre su utilidad y sobre la luz que arroja sobre las antiguas figuras chinas de Fu Xi . [1] El sistema de Leibniz utiliza 0 y 1, como el sistema binario moderno de numeración. Leibniz conoció el I Ching a través del jesuita francés Joachim Bouvet y notó con fascinación cómo sus hexagramas corresponden a los números binarios del 0 al 111111, y concluyó que esta correspondencia era evidencia de los principales logros chinos en el tipo de matemática binaria visual filosófica que admiraba. [2] [3] Leibniz vio los hexagramas como una afirmación de la universalidad de su propia creencia religiosa. [3]
Los números binarios eran fundamentales para la teología de Leibniz. Creía que los números binarios eran un símbolo de la idea cristiana de creatio ex nihilo o creación de la nada. [4] Leibniz estaba tratando de encontrar un sistema que convirtiera las afirmaciones verbales lógicas en una puramente matemática [ cita requerida ] . Después de que sus ideas fueran ignoradas, se encontró con un texto chino clásico llamado I Ching o "Libro de los Cambios", que utilizaba 64 hexagramas de código binario visual de seis bits. El libro había confirmado su teoría de que la vida podía simplificarse o reducirse a una serie de proposiciones sencillas. Creó un sistema que consistía en filas de ceros y unos. Durante este período de tiempo, Leibniz aún no había encontrado un uso para este sistema. [5]
En el mundo antiguo también existían sistemas binarios anteriores a Leibniz. El I Ching mencionado anteriormente, que Leibniz encontró, data del siglo IX a. C. en China. [6] El sistema binario del I Ching , un texto de adivinación, se basa en la dualidad del yin y el yang . [7] Los tambores de hendidura con tonos binarios se utilizan para codificar mensajes en África y Asia. [7] El erudito indio Pingala (alrededor de los siglos V-II a. C.) desarrolló un sistema binario para describir la prosodia en su Chandashutram . [8] [9]
Los habitantes de la isla de Mangareva , en la Polinesia Francesa , utilizaban un sistema binario- decimal híbrido antes de 1450. [10] En el siglo XI, el erudito y filósofo Shao Yong desarrolló un método para ordenar los hexagramas que corresponde, aunque de manera involuntaria, a la secuencia del 0 al 63, tal como se representa en binario, con el yin como 0, el yang como 1 y el bit menos significativo en la parte superior. El orden es también el orden lexicográfico en séxtuples de elementos elegidos de un conjunto de dos elementos. [11]
En 1605, Francis Bacon discutió un sistema por el cual las letras del alfabeto podían ser reducidas a secuencias de dígitos binarios, que luego podían ser codificados como variaciones apenas visibles en la fuente de cualquier texto aleatorio. [12] De manera importante para la teoría general de la codificación binaria, agregó que este método podría ser utilizado con cualquier objeto: "siempre que esos objetos sean capaces de una diferencia doble solamente; por ejemplo, por campanas, trompetas, luces y antorchas, por el sonido de los mosquetes y cualquier instrumento de naturaleza similar". [12]
George Boole publicó un artículo en 1847 llamado 'El análisis matemático de la lógica' que describe un sistema algebraico de lógica, ahora conocido como álgebra de Boole . El sistema de Boole se basaba en el binario, un enfoque de sí-no, encendido-apagado que consistía en las tres operaciones más básicas: AND, OR y NOT. [13] Este sistema no se puso en uso hasta que un estudiante de posgrado del Instituto Tecnológico de Massachusetts , Claude Shannon , notó que el álgebra de Boole que aprendió era similar a un circuito eléctrico. En 1937, Shannon escribió su tesis de maestría, Un análisis simbólico de circuitos de conmutación y relés , que implementó sus hallazgos. La tesis de Shannon se convirtió en un punto de partida para el uso del código binario en aplicaciones prácticas como computadoras, circuitos eléctricos y más. [14]
La cadena de bits no es el único tipo de código binario: de hecho, un sistema binario en general, es cualquier sistema que permite solo dos opciones, como un interruptor en un sistema electrónico o una simple prueba de verdadero o falso.
El braille es un tipo de código binario muy utilizado por las personas ciegas para leer y escribir mediante el tacto, llamado así por su creador, Louis Braille. Este sistema está formado por cuadrículas de seis puntos cada una, tres por columna, en las que cada punto tiene dos estados: en relieve o no en relieve. Las diferentes combinaciones de puntos en relieve y aplanados son capaces de representar todas las letras, números y signos de puntuación.
Los bagua son diagramas utilizados en el feng shui , la cosmología taoísta y los estudios del I Ching . El ba gua consta de 8 trigramas; bā significa 8 y guà significa figura adivinatoria. La misma palabra se utiliza para los 64 guà (hexagramas). Cada figura combina tres líneas ( yáo ) que están rotas ( yin ) o intactas ( yang ). Las relaciones entre los trigramas se representan en dos disposiciones, la primordial, el bagua del "Cielo Anterior" o "Fuxi" , y la manifestada, el "Cielo Posterior", o bagua del "Rey Wen" . [15] (Véase también la secuencia del Rey Wen de los 64 hexagramas).
El sistema de adivinación Ifá /Ifé en las religiones africanas, como la yoruba , la igbo y la ewe , consiste en una elaborada ceremonia tradicional que produce 256 oráculos compuestos por 16 símbolos con 256 = 16 x 16. Un sacerdote iniciado, o Babalawo , que había memorizado oráculos, solicitaba sacrificios a los clientes que consultaban y hacía oraciones. Luego, se utilizan nueces de adivinación o un par de cadenas para producir números binarios aleatorios, [16] que se dibujan con material arenoso en una bandeja de madera con figuras de "Opun" que representan la totalidad del destino.
A través de la difusión de la cultura islámica , Ifé/Ifá fue asimilado como la "Ciencia de la Arena" (ilm al-raml), que luego se difundió aún más y se convirtió en la "Ciencia de la Lectura de los Signos en el Suelo" ( Geomancia ) en Europa.
Se pensó que esta era otra ruta posible de la cual se inspiró la ciencia informática, [17] ya que la geomancia llegó a Europa en una etapa anterior (alrededor del siglo XII, descrito por Hugo de Santalla ) que el I Ching (siglo XVII, descrito por Gottfried Wilhelm Leibniz ).
El Código estándar estadounidense para el intercambio de información (ASCII) utiliza un código binario de 7 bits para representar texto y otros caracteres en computadoras, equipos de comunicaciones y otros dispositivos. A cada letra o símbolo se le asigna un número del 0 al 127. Por ejemplo, la "a" minúscula se representa como 1100001
una cadena de bits (que es "97" en decimal).
El decimal codificado en binario (BCD) es una representación codificada en binario de valores enteros que utiliza un nibble de 4 bits para codificar dígitos decimales. Cuatro bits binarios pueden codificar hasta 16 valores distintos; pero, en los números codificados en BCD, solo diez valores en cada nibble son legales y codifican los dígitos decimales del cero al nueve. Los seis valores restantes son ilegales y pueden causar una excepción de máquina o un comportamiento no especificado, según la implementación informática de la aritmética BCD.
En ocasiones, se prefiere la aritmética BCD a los formatos numéricos de punto flotante en aplicaciones comerciales y financieras donde los comportamientos de redondeo complejos de los números de punto flotante son inadecuados. [18]
La mayoría de las computadoras modernas utilizan codificación binaria para instrucciones y datos. Los CD , DVD y discos Blu-ray representan sonido y video digitalmente en formato binario. Las llamadas telefónicas se transmiten digitalmente en redes de telefonía móvil y de larga distancia mediante modulación por pulsos codificados y en redes de voz sobre IP .
El peso de un código binario, tal como se define en la tabla de códigos de peso constante , [20] es el peso de Hamming de las palabras binarias que codifican las palabras o secuencias representadas.