El complemento a uno es un caso particular del complemento disminuido a una base para números binarios y está dado por:
[N] 2 � 1 = 2n - (N)2-1, donde n es el número de bits de (N)2.
Algoritmo para determinar [N]r � 1 dado (N) r.
Reemplazamos cada dígito ai de (N)r por r - 1 - ai. Observe que si r = 2, basta con complementar cada bit individual de (N)r.
Ejemplo.
Sumar: (1001)2 y - (0100)2.
(1001)2: 0 1 0 0 1
- (0100)2: + 1 1 0 1 1
----------------------------
1 0 0 1 0 0
Se obtiene el resultado correcto si el acarreo de salida del bit más significativo se suma a la posición del bit menos significativo. Es decir 00100 + 1 = 00101.
Este procedimiento se conoce como acarreo final circular y es un paso de corrección necesario en la aritmética de complemento disminuido.
Por tanto, + (1001)2 - (0100)2 = (0,0101)2ms = (101)2.
Ejemplo.
Sumar +(1001)2 y - (1111)2
+(1001)2: 0 1 0 0 1
-(1111)2: + 1 0 0 0 0
--------------------------
1 1 0 0 1
El acarreo final circular es 0 y por tanto,
+ (1001)2 - (1111)2 = (1,1001)2ms = - (0,0110)2ms = -(0110)2.
Ejemplo.
Sumar (75)10 y - (21)10
El complemento a nueve de 021 es 978. Por tanto, 075 + 978 = 1053, que es el resultado correcto después del procedimiento de acarreo final circular 053 + 1 = 054.
Ejemplo.
Sumar (21)10 y - (75)10.
El cálculo de 021 + 924 = 945, que es el resultado correcto, pues el acarreo final es cero. Así, (9,45)10ms = - (0,54) 10ms = -(54)10.
No hay comentarios:
Publicar un comentario