COMPARACIÓN ENTRE LOS COMPLEMENTOS 2 Y 1. Al comparar los complementos 2 y 1, se detallan las ventajas y desventajas de cada uno de ellos. El complemento 1 es más fácil de ejecutar por medio de componentes digitales, ya que lo único que hay que hacer es cambiar los ceros a unos y los unos a ceros. La ejecución del complemento 2 puede obtenerse de dos maneras: (1) agregando 1 al dígito menos significativo del complemento 1 y (2) dejando los primeros ceros en las posiciones significativas menores y el primer 1 inalterados, para cambiar solamente el resto de unos a ceros y ceros a unos.
Durante la resta de dos números, usando complementos, es ventajoso emplear el complemento 2, en el cual sólo se requiere una operación aritmética de suma. El complemento 1requiere dos sumas aritméticas cuando ocurre un acarreo final de reinicio. El complemento 1 tiene la desventaja adicional de poseer dos ceros aritméticos: Uno con todos los ceros y otro con todos los unos. Para ilustrar este hecho, considérese la sustracción de dos números binarios iguales 1100 - 1100:
Usando el complemento 1 1100 + 0011 1111 complementar de nuevo para obtener - 0000 Usando el complemento 2 1100 + 0100 10000
Mientras que el complemento 2 tiene solamente un cero aritmético, el cero del complemento 1 puede ser negativo o positivo, lo cual podría complicar la situación. Sin embargo, elcomplemento 1 es muy útil en los manipuladores lógicos, ya que el cambio de unos a ceros y viceversa, es equivalente a la inversión lógica. El complemento 2 sólo se usa en asociación con las aplicaciones aritméticas.
Cuando se representa un número negativo en forma de complemento 1, el bit de signo siempre permanece en 1 y la magnitud se convierte de la forma real a la forma decomplemento 1. Por ejemplo, para el número -89, se tiene:
- 89 =1 1011001 forma de magnitud real 1 0100110 forma de complemento 1 bit de signo negativo
La forma de complemento 2 de un número binario negativo, se forma cambiando todos los ceros por unos, todo los unos por ceros (complemento 1) y se le suma 1 al bit menos significativo del número resultante.
- 89= 1 1011001 forma de magnitud real 1 0100110 forma de complemento 1 + 11 0100111forma de complemento 2 bit de signo negativo
En este momento, resulta más fácil realizar la resta binaria por medio de la operación suma y con complemento 2 del sustraendo. Por ejemplo:
25 - 10 | 11001 - 1010 | 11001 + 10101 | |||
15 | 01111 |
1
| 01110 | ||
+ 1 | |||||
01111 | |||||
Resta
Normal |
Resta
sumando |
Es relativamente simple tomar un número que esté en su forma complemento 1 o 2 y convertirlo de nuevo a su verdadero valor binario. Para ir de complemento 1 a binario verdadero, se requiere simplemente complementar de nuevo cada bit. Para ir de complemento 2 a binario verdadero, se requiere simplemente complementar cada bit y luego añadir 1 al bit menos significativo. En ambos casos no se incluye el bit de signo.
Como se ha indicado, la mayoría de las computadoras modernas usan el sistema de complemento 2 para representar números negativos y ejecutar la resta. Las operaciones de sumay resta de números con signo puede realizarse usando sólo la operación de suma si se usa la forma de complemento 2 para representar números negativos.
Los números positivos y negativos, incluyendo los bits de signo, pueden sumarse juntos en el circuito sumador paralelobásico, cuando los números negativos están en la forma de complemento 2. En la Figura 16, se ilustra la suma de -3 y+6. El -3 se representa en su forma complemento 2 como 1101, donde el 1 más significativo es el bit de signo; el +6 se representa como 0110, con el 0 más significativo como el bit de signo. El sumador paralelo de 4 bits produce salidas de suma de 0011, que representa +3. La salida de C4 es 1 pero se desprecia en el método complemento 2.
La resta binaria, cuando se usa el sistema de complemento 2, el número a ser sustraído (sustraendo) secomplementa a 2 y luego se suma al minuendo (el número del cual se resta el sustraendo). Por ejemplo, se puede suponer que el minuendo ya está almacenado en el acumulador (registro A). El sustraendo se coloca entonces en el registro B (en una computadora sería transferido aquí desde la memoria) y se cambia a su forma complemento 2 antes de ser sumado al número en el registro A. Las salidas de suma del circuito sumador representan ahora la diferencia entre elminuendo y el sustraendo.
El circuito sumador paralelo que hemos estado discutiendo, puede adaptase para ejecutar la resta descrita arriba, si se provee un método para tomar el complemento2 del número en el registro B. Como se recordará, elcomplemento 2 de un número binario se obtiene porcomplementación (inversión) de cada bit y añadiendo luego 1 al bit menos significativo. La Figura 17, muestra como se puede lograr esto. Se usan las salidas invertidasdel registro B en lugar de las salidas normales; esto es, B'0,B'1, B'2 y B'3 alimentan las entradas del sumador (recuérdese que B3 es el bit de signo). Esto completa lacomplementación de cada bit del número B. También C0se hace un 1 lógico, así que añade un 1 al bit menos significativo del registro B para formar el complemento 2.
Las salidas S3 a S0 representan el resultado de la operación resta. Por supuesto, S3 es el bit de signo delresultado e indica si el número es positivo o negativo. Lasalida del acarreo C4 se desprecia nuevamente.
Para ayudar a clarificar esta operación, analice los siguientes pasos para sustraer +6 de +4:
1. +4 se almacena en el registro A como 0100
2. +6 se almacena en el registro B como 0110
3. Las salidas invertidas del registro B se alimentan al sumador 1001
4. El 1001 se añade a 0100 por el sumador paralelo junto con 1 añadido a la posición menos significativa haciendo C0=1. Esto produce los bits 1110 de salida de la suma y un C4=1, el cual se desprecia. Este 1110 representa la diferencia requerida. Puesto que el bit de signo es igual a 1, se tiene un resultado negativo que está en la forma decomplemento 2. Verifique que representa -2.
No hay comentarios:
Publicar un comentario