Representación de números con signo
Una computadora digital que procesa únicamente números positivos no es muy útil. La mayoría de las computadoras digitales trabajan con números signados (números positivos y números negativos). Las computadoras utilizan el método de complemento a dos para representar los números con signo (números signados).
Se presenta un número problema muy interesante si se desea conocer cuándo un número es negativo y cuándo es positivo. Una manera práctica que se emplea al diseñar una computadora digital es utilizar al bit más significativo del número para representar el signo. Un “1” en esa posición representa al signo negativo y un “0” representa al signo positivo.
0 xxx xxxx representa un número positivo de 7 bits
1 xxx xxxx representa un número negativo de 7 bits
La ventaja de usar este esquema para representar números signados es que no se necesitan circuitos digitales especiales para efectuar operaciones aritméticas. Únicamente se requiere una atención especial en la lógica de la programación con el bit de signo.
Para analizar esta representación de números signados, observemos las tres columnas de números de cuatro dígitos binarios de la Tabla siguiente. La columna 1 se forma sumando 1 a partir de 0000. Observemos que cuando se suma 1 al número 1111 se pasa a 0000. Recuerda que los números son de 4 dígitos, por eso se ignora el quinto del bit del resultado. Por lo tanto sin considerar el último bit como signo se tienen 16 números binarios desde (0000)2 a (1111) 2.
En columna 2 de la Tabla anterior se forman dos grupos de 8, la diferencia es el bit más significativo. Si utilizamos al bit más significativo para el bit de signo, la parte superior de la columna 2 forma los números negativos y la parte inferior forma los números positivos.
Por otro lado hemos observado que si al número (1111)2 (de la columna 2) se le suma 1 se obtiene (0000) 2 ó (0)10 por lo que reconocemos al número binario 1111 con el número decimal -1, al número binario 1110 como decimal -2, etc. y al 1000 como -8.
Con este resultado, si al grupo de los números negativos lo colocamos debajo del número 000 se obtiene la columna 3 de la tabla anterior. Abajo del (0000)2 ó
(0)10 tendremos ahora el número (1111)2 ó (-1)10 y arriba del (0000)2 el número (0001)2 ó (+1)10.
Si consideramos al cero como número positivo, tendremos una cantidad de números negativos igual a la cantidad de números positivos más uno, es decir, con cuatro dígitos binarios tendremos del 110 al 710 (8 dígitos positivos) y del -110 al -810 (8 dígitos negativos).
Este método se puede extender a cualquier cantidad de dígitos binarios.
Fuente: Apuntes de Arquitectura de computadoras de la FCA de la UNAM