A_Complemento de un número - jospicant/IceStudio GitHub Wiki
Complemento de un número
El complemento de un número en el mundo digital se usa para simplificar las operaciones de resta y manipulaciones lógicas. Tenemos dos tipos de complementos para cada sistema de base-r:
- Complemento "Base r": complemento "r"
- Complemento de "Base disminuido (r-1)": complemento "(r-1)"
Complemento "Base disminuida (r-1)"
Dado un número N de base r que tiene n dígitos, el complemento (r-1) del número N se puede calcular pensando de la siguiente forma lógica ( lo vemos con varios ejemplos):
Números decimales (base r = 10 y base disminuida r-1 = 9 ):
Llamaremos Ca9(N) ( Complemento a 9 de un número N):
Ca9(997)= 2 (Como tiene tres dígitos, sería lo que le falta hasta llegar a 999)
Ca9(57)= 42 (Como tiene dos dígitos, sería lo que le falta hasta llegar a 99)
Ca9(3)= 6 ( Como tiene 1 dígito, sería lo que le falta hasta llegar a 9.
Números binarios (base r =2 y base disminuida r-1 = 2):
LLamaremos Ca1(N) (Complemento a 1 de un número binario N):
Ca1(b100)=b011 El Ca1 del número 4 en binario "b011", formado por tres bits
es lo que le falta al número 4, para llegar al número binario
b111 (7), por lo que el resultado será 3 en binario con tres
dígitos ( b011).
Ca1(b1010)=b0101 El Ca1 del número binario 10 (b1010), formado por 4 bits
es lo que le falta para llegar al número 15 (b1111), por lo
cual el resultado será 5 (b0101) usando 4 bits.
El Ca1(N) se puede calcular de forma inmediata simplemente cambiando los 1's
por 0's y viceversa.
Complemento "Base r "
El complemento r de un número N con n dígitos podemos definirlo como el complemento (r-1) de un número + 1 ( lo veremos con unos ejemplos) :
Ejemplos para números decimales:
Ca9(997)=2;
Ca10(997)=2+1=3; podemos calcular también directamente pensando que es lo que
le falta a 997 para llegar a 1000.
Ca9(57)=42+1 =43; lo que le falta hasta llegar a 100.
Ca9(3)=6+1=7; lo que le falta para llegar a 10.
Ejemplos para números binarios:
Número 11 (b1011):
Ca1(b1011)=b0100; a 11 le faltan 4 para llegar a 15 (b1111).
Ca2(b1011)=b0101; a 11 le faltan 5 para llegar a 16 (b10000).
Número 4 (b100):
Ca1(b100)=b011; a 4 le faltan 3 para llegar a 7 (b111).
Ca2(b100)=b100; a 4 le faltan 4 para llegar a 8 (b1000).
El complemento del complemento nos devolverá al número original
Módulo Ca1 en IceStudio
En la siguiente figura se muestra el módulo realizado para calcular el Ca1 de un número binario de 8 bits:
Mostramos aquí un ejemplo usando dicho módulo de Ca1:
Módulo Ca2 en IceStudio
Igualmente se crea un módulo para realizar el Ca2 ( Ca2 = Ca1+1 ) de un número binario de 8 bits:
Mostramos un ejemplo de dicho módulo:
Podemos encontrar los diferentes módulos realizados para IceStudio en: