Está en la página 1de 25

ARITMÉTICA BINARIA

RESTA DE NÚMEROS BINARIOS


COMPLEMENTO A DOS
COMPLEMENTO A UNO
RESTAR CON EL COMPLEMENTO A
DOS
LCDO. RICARDO PISCO
COMPLEMENTOS DE LA RESTA

• La Unidad Aritmético Lógica, en la CPU del procesador, es capaz de


realizar operaciones aritméticas, con datos numéricos expresados
en el sistema binario. Naturalmente, esas operaciones incluyen la
adición, la sustracción, el producto y la división. Las operaciones se
hacen del mismo modo que en el sistema decimal, pero debido a
la sencillez del sistema de numeración, pueden hacerse algunas
simplificaciones que facilitan mucho la realización de las
operaciones.
SUSTRACCIÓN EN BINARIO

• La técnica de la resta en binario es, nuevamente, igual que


la misma operación en el sistema decimal. Pero conviene
repasar la operación de restar en decimal para
comprender la operación binaria, que es más sencilla. Los
términos que intervienen en la resta se
llaman minuendo, sustraendo y diferencia.
• La resta tiene la dificultad de requerir del conocido borrow o
“pedir prestado”. Su procesamiento del modo tradicional (como en
la escuela primaria pero con número binarios) resulta complejo y
suele trabajarse, por lo tanto, con complementos a la base o a la
base-1, efectuando así, únicamente sumas.
• Por ejemplo, la resta 65-32=33, puede hacerse con complemento a
la base (100): Complementamos a 100 el número negativo 32=>
68, y lo sumamos: 65+68=133. Finalmente complementamos a 100
nuevamente, y resulta: 33, verificando la resta. Siendo redundante,
se puede aclarar nuevamente, que a pesar de que este
procedimiento parece ser claramente más complejo, para una
computadora la suma y el complemento son operaciones rápidas a
diferencia de la resta, con lo que sólo se usan complementos.
RESTA TRADICIONAL
• Las restas 0 - 0, 1 - 0 y 1 - 1 son evidentes:

0–0=0
• 1–0=1
• 1–1=0
• La resta 0 - 1 se resuelve, igual que en el sistema decimal, tomando
una unidad prestada de la posición siguiente: 10 - 1, es decir, 210 –
110 = 1.  Esa unidad prestada debe devolverse, sumándola, a la
posición siguiente. Veamos algunos ejemplos:
EJEMPLOS

• 111 – 101 = 010 710 – 510 = 210


• 10001 – 01010 = 00111 1710 – 1010 = 710
• 11011001 – 10101011 = 00101110 21710 – 17110 = 4610
• 111101001 – 101101101 = 001111100 48910 – 36510 = 12410
• A pesar de lo sencillo que es el procedimiento de restar, es
fácil confundirse. Tenemos interiorizado el sistema
decimal y hemos aprendido a restar mecánicamente, sin
detenernos a pensar en el significado del arrastre. Para
simplificar las restas y reducir la posibilidad de cometer
errores hay varias soluciones:
DIVIDIR LOS NÚMEROS LARGOS EN GRUPOS. EN EL
SIGUIENTE EJEMPLO, VEMOS CÓMO SE DIVIDE UNA
RESTA LARGA EN TRES RESTAS CORTAS:
COMPLEMENTO A DOS

• El complemento a dos de un número N, compuesto por n


bits, se define como:

• Veamos un ejemplo: tomemos el número N = 101101, que


tiene 6 bits, y calculemos su complemento a dos:
• N = 45 n = 6 26 = 64 y, por tanto: CN/2 = 64 – 45 = 19
= 010011
EJERCICIOS

• Calcula el complemento a dos de los


siguientes números:
• 11001, 10001011, 110011010
COMPLEMENTO A UNO

• El complemento a uno de un número N, compuesto


por n bits es, por definición, una unidad menor que
el complemento a dos, es decir:
CALCULEMOS EL COMPLEMENTO A UNO DEL
MISMO NÚMERO DEL EJEMPLO ANTERIOR:
• siendo N = 101101, y su complemento a dos C2N = 010011

• Da la sensación de que calcular el complemento a uno no es más


que una forma elegante de complicarse la vida, y que no va a ser
más sencillo restar utilizando el complemento a dos, porque el
procedimiento para calcular el complemento a dos es más difícil y
laborioso que la propia resta. Pero es mucho más sencillo de lo que
parece.
EN REALIDAD, EL COMPLEMENTO A UNO DE UN NÚMERO
BINARIO ES EL NÚMERO RESULTANTE DE INVERTIR LOS
UNOS Y CEROS DE DICHO NÚMERO. POR EJEMPLO SI:

• N = 110100101
• obtenemos su complemento a uno invirtiendo ceros y unos, con lo
que resulta:
• C1N = 001011010
• y su complemento a dos es:
• C2N = C1N + 1 = 00101101
RESTAR EN BINARIO USANDO EL
COMPLEMENTO A DOS
• Y, por fin, vamos a ver cómo facilita la resta el complemento. La
resta binaria de dos números puede obtenerse sumando al
minuendo el complemento a dos del sustraendo. Veamos algunos
ejemplos:
• Primer ejemplo:
• Hagamos la siguiente resta, 91 – 46 = 45, en binario:
• 1011011 – 0101110 = 0101101
TIENE ALGUNA DIFICULTAD, CUANDO SE ACUMULAN LOS
ARRASTRES A LA RESTA SIGUIENTE. PERO ESTA MISMA
RESTA PUEDE HACERSE COMO UNA SUMA, UTILIZANDO
EL COMPLEMENTO A DOS DEL SUSTRAENDO:

• 1011011 + 1010010 = 0101101


• En el resultado de la suma nos sobra un bit, que se
desborda por la izquierda. Pero, como el número
resultante no puede ser más largo que el minuendo, el bit
sobrante se desprecia.
SEGUNDO EJEMPLO:
• Hagamos esta otra resta, 219 – 23 = 196, utilizando el
complemento a dos:
• 21910 = 11011011
• 2310 = 00010111
• C2 = 11101001
• El resultado de la resta será: 11011011 + 11101001 = 111000100
• Y, despreciando el bit que se desborda por la izquierda, llegamos al
resultado correcto:
• 11000100 = 19610
EJERCICIOS RESTA USANDO COMPLEMENTO
A DOS

• 11010001101 – 1000111101
• 10110011101 - 1110101
SUMA OCTAL

• El sistema octal tiene como base el número 8, las cifras que lo


complementan son 0, 1, 2, 3, 4, 5, 6, 7)
• Para sumar en octal se deben requerir el siguiente paso:
• 1: tener en cuenta que la operación que vamos a realizar esté en
sistema octal.
• 2: ninguno de los números del resultado puede ser mayor que “8”
• 3: si el resultado es mayor que “8”, el minuendo pasa a llevar un
“1” (ese “1” se suma al minuendo) y lo que sobra va en el
resultado.
EJEMPLOS
RESTA OCTAL:

• Para restar en octal se deben requerir el siguiente paso:


• 1: tener en cuenta que la operación que vamos a realizar
esté en sistema octal.
• 2: Pedir prestado siempre y cuando el número que está
restando sea menor al sustraendo. Tomando en cuenta
que la cifra que le va a prestar es “8”, y también se le resta
uno a la cifra que está prestando.
EJEMPLOS
OPERACIONES EN HEXADECIMAL:

• Recordemos que el sistema decimal tiene como base el número 16, y los
números que lo contemplan son: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F (en donde
A=10, B=11, C=12, D=13, E=14, F=15).
• 1) Se efectúa :
• A+A=20 (20-16=4 y llevamos 1)
• Si el resultado de la suma es mayor que 16 llevamos 1unidad.
• Se hace una resta del resultado -16. (si el resultado sigue todavía siendo
mayor se vuelve a restar por 16 y se vuelve a llevar otro y así sucesivamente,
tantas unidades como restas se realicen.)
• A la resultante se le añade 1 al principio dando como resultado 14.
EJEMPLO
RESTA HEXADECIMAL:

• Explicación: A es menor que C, entonces A pide prestado 1 unidad


a 7(1 unidad =16 por trabajar en base hexadecimal) en donde 7 se
convierte en 6 y la unidad se suma con A, el resultado seria 26, 26-
12=14(E). Y el resto se resta normalmente.
TAREA

• Realizar las siguientes restas binarias


utilizando el complemento a2.
• Realizar las sumas y restas octales y
hexadecimales.

También podría gustarte