El sistema binario (del latín binārĭus , “doble”) es el sistema numérico que usa la base 2 . Los dígitos del número binario posicional se denominan comúnmente bit (del inglés dígito binario o "dígito binario") . Un bit puede tomar dos valores, indicados por la convención 0 y 1 .
El sistema binario es útil para representar el funcionamiento de la electrónica digital utilizada en las computadoras . Por lo tanto, es utilizado por lenguajes de programación de bajo nivel .
El sistema binario más común es el matemático de base dos , que permite representar los números mediante la numeración de lugares con solo dos dígitos: 0 y 1.
En este tipo de codificación, cada número se representa de forma única mediante una secuencia ordenada de dígitos . Y cada posición m representa una potencia ( m - 1) de la base . Si nos limitamos inicialmente a enteros positivos, en base diez estas potencias son: uno (1), diez (representado por 10), cien (diez por diez, representado por 100), mil (diez por cien, representado por 1000), diez mil, etc. En base dos, estos poderes son: uno (1), dos (también representados por 10), cuatro (dos por dos, representados por 100), ocho (dos por cuatro, representados por 1000), dieciséis (dos por ocho, representados por por 10000), etc.
Vemos que el significado de las representaciones 10, 100, 1000, etc. depende de la base utilizada: 10 es siempre igual a la base, es decir diez en base diez, pero dos en base dos.
En base diez, se utilizan diez dígitos, de cero a nueve; en base n , usamos n dígitos, de cero a n - 1; por lo tanto, en la base dos usamos los dos dígitos “0” y “1”.
Se puede analizar un número que se expresa en base B por los cuatro dígitos 1101:
, quien da :
1101 en base B = 10: | |||||
1101 en base B = 8: | |||||
1101 en base B = 2: |
Los primeros números y dígitos de base 10 se escriben:
decimal | binario | observación |
---|---|---|
0 | 0 | cero |
1 | 1 | un = potencia base cero (válido para todas las bases, por lo que dos y diez) |
2 | 10 | dos = dos elevado a uno (un cero detrás del 1) |
3 | 11 | |
4 | 100 | cuatro = dos elevado a dos (dos ceros detrás del 1) |
5 | 101 | |
6 | 110 | |
7 | 111 | |
8 | 1000 | ocho = dos elevado a tres (tres ceros detrás del 1) |
9 | 1001 |
Le damos a cada bit una potencia de dos, como esta secuencia 1, 2, 4, 8, 16, 32, 64. Para obtener el número 7, sumamos los primeros tres bits; para obtener 6, solo agregamos la broca con un peso de 4 y la broca con un peso de 2.
Las técnicas de las cuatro operaciones básicas (suma, resta, multiplicación y división) siguen siendo exactamente las mismas que en la notación decimal; simplemente se simplifican drásticamente porque solo hay dos dígitos 0 y 1. Para la multiplicación, por ejemplo, cualquiera que sea la base, la multiplicación por 10 (es decir, por la base misma) se realiza agregando un cero a la derecha.
Los únicos cambios que cambian por un lado la forma de la secuencia de dígitos que expresa el resultado (solo cuenta ceros y uno), por otro lado el significado de esta secuencia (10 significa "dos" y no "diez", 100 significa "cuatro" y no "cien", etc.).
Adición y sustracciónPasamos de un número binario al siguiente sumando 1, como en decimal, sin olvidar las retenciones y usando la tabla ordinaria (pero reducida a su expresión más simple):
0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 0 avec 1 retenue 0 - 0 = 0 0 - 1 = 1 avec 1 retenue 1 - 0 = 1 1 - 1 = 0Se puede ver que la suma de dos bits A y B da A XOR B con un acarreo igual a A Y B.
Tan :
11 + 1 ____ 100Detalle:
1 + 1 = 10 => on pose 0 et on retient 1 1 + 1(retenue) = 10 => on pose 0 et on retient 1 0 + 1(retenue) = 1 => on pose 1 devant 00La multiplicación por dos se realiza desplazando cada dígito un paso hacia la izquierda e insertando un cero al final.
Por ejemplo, dos por once:
La división completa entre dos se realiza desplazando cada dígito un paso hacia la derecha, y el dígito derecho se elimina el resto.
Por ejemplo once dividido por dos:
La aritmética binaria (más simplemente cálculo binario) es utilizada por los sistemas electrónicos más comunes (calculadoras, computadoras, etc.) porque los dos dígitos 0 y 1 se reflejan allí por el voltaje o el paso de una corriente. Por ejemplo, 0 puede ser representado por el estado bajo (voltaje o corriente cero) y 1 por el estado alto (voltaje que existe, corriente que fluye).
Para completar la representación de números enteros, es necesario poder escribir números enteros negativos . Existen dos representaciones, el complemento a uno y el complemento a dos.
Complemento de unEsta codificación consiste en invertir el valor de cada bit.
Por ejemplo, para obtener −7:
Un defecto de este sistema es que el cero tiene dos representaciones: 0000 y 1111 ("+0" y "−0"). No es utilizado por las computadoras actuales, pero fue utilizado por computadoras más antiguas como el Control Data 6600 . Las dos representaciones del cero complican los circuitos de prueba.
Complemento para dosEl complemento a dos consiste en realizar un complemento a uno, luego sumar 1.
Por ejemplo para obtener −7:
Esta codificación tiene la ventaja de no requerir una diferenciación especial de números positivos y negativos y, en particular, evita el problema de la doble representación del cero.
Aquí hay una suma de −7 y +9 realizada como un complemento a dos de 4 bits:
-7 1001 +9 1001 __ ____ 2 (1) 0010 (on « ignore » la retenue)Con n bits, este sistema permite representar los números entre −2 n −1 y 2 n −1-1 .
Las bases 8 (octal) y 16 (hexadecimal) son bases de potencia de la base 2. Estas dos bases se utilizan comúnmente en el procesamiento de datos y por razones prácticas; estas bases están fuertemente ligadas a la base 2 y los números escritos en estas bases son más "manipulables" (debido a una escritura más corta) por el intelecto humano. Escribir números en estas bases se logra fácilmente agrupando dígitos desde el número de escritura hasta la base 2.
Fácilmente podríamos extender este principio a todas las bases que son potencias de 2.
A binarioBasta convertir el valor de cada uno de los dígitos en su forma binaria utilizando un número de dígitos correspondiente a la potencia de la base: 16 = 2 4 , 8 = 2 3 , por lo que 4 dígitos para el hexadecimal y 3 para el octal:
|
|
El código Gray, también llamado binario reflejado, permite que solo cambie un bit a la vez cuando un número aumenta o disminuye en uno. El nombre del código proviene del ingeniero estadounidense Frank Gray , quien presentó una patente sobre este código en 1947.
Para calcular directamente el código Gray de un número entero a partir del de su predecesor, podemos proceder de la siguiente manera:
Para conciliar la lógica binaria de la computadora con la lógica humana, se puede convertir en binario, en lugar de los números en sí, cada uno de los dígitos que los componen en notación posicional decimal. Luego, cada uno de estos dígitos se codifica en 4 bits:
1994 = 0001 1001 1001 0100 1×1000 + 9×100 + 9×10 + 4×1Con n bits (n múltiplo de 4), es posible representar los números entre 0 y 10 n / 4 -1. Es decir aproximadamente entre 0 y 1.778 n -1. El DCB es un código redundante, de hecho algunas combinaciones no se utilizan (como 1111 por ejemplo).
Esta representación evita por construcción todos los molestos problemas de acumulación de redondeo que se producirían durante la manipulación de grandes números que superan el tamaño de los circuitos en aritmética de enteros y obligan a recurrir al flotador. Sin embargo, es posible manipular números con precisión arbitraria utilizando una codificación más eficiente que DCB.
Hay variantes de codificación DCB:
En teoría de la información , la entropía de una fuente de información se expresa en bits . La propia teoría es indiferente a la representación de las cantidades que utiliza.
La lógica clásica es una lógica bivalente: una proposición es verdadera o falsa. Por tanto, es posible representar la verdad de una proposición mediante un número binario. Por ejemplo, podemos modelar las operaciones de la aritmética binaria usando álgebra booleana .
El álgebra de Boole representa un caso muy particular de uso de probabilidades que involucran solo los únicos valores de verdad 0 y 1. Ver el teorema de Cox-Jaynes .
El binario se utiliza en el procesamiento de datos porque permite modelar el funcionamiento de los componentes de conmutación como el TTL o el CMOS . La presencia de un umbral de voltaje a través de los transistores, despreciando el valor exacto de este voltaje, representará 0 o 1. Por ejemplo, el número 0 se usará para indicar una ausencia de voltaje dentro de 0.5 V , y el número 1 para indicar su presencia de más de 0,5 V . Este margen de tolerancia permite impulsar las velocidades de los microprocesadores a valores que alcanzan varios gigahercios .
En informática , la representación binaria permite manipular claramente los bits : cada dígito binario corresponde a un bit. Sin embargo, dado que la representación binaria requiere el uso de muchos dígitos (incluso para números bastante pequeños), genera problemas de legibilidad significativos y, por lo tanto, riesgos de errores de transcripción para los programadores. Por tanto, se prefieren otras representaciones : la notación hexadecimal, que permite manipular información en paquetes de 4 bits, es adecuada para casi todos los microprocesadores actuales que trabajan con palabras de 8, 16, 32 o 64 bits; más raro, puntuando octal , tiempo popular de los primeros miniordenadores DEC a 12 o 36 bits, que pueden representar información en paquetes de 3 bits.