Las cantidades se representan de izquierda a derecha (el
bit más significativo a la izquierda y el menos significativo a la derecha) como en el sistema de representación decimal. Los bits se representan por ceros y unos; cero es ausencia de valor, uno es valor. Por ejemplo, la representación del decimal 33 es 100001.
Si utilizamos un octeto para representar números
pequeños, y mantenemos la costumbre de separar las cifras en grupos de 4 para mejorar la legibilidad, su representación es: 0010 0001.
Con este sistema todos los bits están disponibles para
representar una cantidad; por consiguiente, un octeto puede albergar números de rango
0 <= n <= 255
Mtra. Karla Vázquez Ascención Código binario con signo
Ante la necesidad de tener que representar enteros
negativos, se decidió reservar un bit para representar el signo. Es tradición destinar a este efecto el bit más significativo (izquierdo); este bit es 0 para valores positivos y 1 para los negativos. Por ejemplo, la representación de 30 y -34 sería:
+34 00100010
-34 10100010
Mtra. Karla Vázquez Ascención
Código binario con signo
Como en un octeto solo quedan siete bits para representar la
cantidad, con este sistema un Byte puede representar números en el rango:
- 127 <= n <= 127
El sistema anterior se denomina código binario en magnitud y
signo. Aparentemente es el primero y más sencillo de los que se pueden discurrir, además de ser muy simple para codificar y decodificar. Sin embargo, la circuitería electrónica necesaria para implementar con ellos operaciones aritméticas es algo complicada, por lo que se dispusieron otros sistemas que se revelaron más simples en este sentido.
Mtra. Karla Vázquez Ascención
Código binario en C1
En este sistema los números positivos se representan como en el
sistema binario en magnitud y signo, es decir, siguiendo el sistema tradicional, aunque reservando el bit más significativo, que debe ser cero. Para los números negativos se utiliza el complemento a uno, que consiste en tomar la representación del correspondiente número positivo y cambiar los bits 0 por 1 y viceversa (el bit más significativo del número positivo, que es cero, pasa ahora a ser 1).
Mtra. Karla Vázquez Ascención
Código binario en C1
Como puede verse, en este sistema, el bit más significativo sigue
representando el signo, y es siempre 1 para los números negativos. Por ejemplo, la representación de 33 y -33 sería:
+33 0010 0001
-33 1101 1110
Mtra. Karla Vázquez Ascención
Código binario en C2
En este sistema, los números positivos se representan como en el
anterior, reservando también el bit más significativo (que debe ser cero) para el signo. Para los números negativos, se utiliza un sistema distinto, denominado complemento a dos, en el que se cambian los bits que serían 0 por 1 y viceversa, y al resultado se le suma uno.
Mtra. Karla Vázquez Ascención
Código binario en C2
Este sistema sigue reservando el bit más significativo para el
signo, que sigue siendo 1 en los negativos. Por ejemplo, la representación de 33 y -33 sería: