Está en la página 1de 28
5.1 Introducción. Prácticamente cualquier estu diante de básica y secundaria sabe que "2653" denota el

5.1 Introducción.

Prácticamente cualquier estudiante de básica y secundaria sabe que "2653" denota el número "Dos mil seiscientos cincuenta y tres" y puede comprender su significado.

¿Pero, qué significa lo anterior?

Nosotros estamos acostumbrados a escribir los números de la manera siguiente: El último dígito denota el número de unidades del número dado, el siguiente el número de decenas, el siguiente el número de centenas y así sucesivamente.

Hay que notar para evitar ambigüedades que en "2653", 3 es el número de unidades que quedan después de agrupar las demás unidades en decenas, centenas, etc.

Esta forma de escribir los números es llamada sistema de numeración en base 10; por tanto para escribir "2653" nosotros estamos pensando en 2

1000 + 6 100 + 5 10 + 3 1 o de una manera más compacta, 2 10 3 + 6

10 2 + 5 10 1 + 3 10 0 .

Se puede ver fácilmente que el número diez juega un papel especial en esta representación: Cualquier número puede ser escrito en términos de potencias diferentes de diez con coeficientes tomando valores de 0 hasta 9. Este sistema es llamado "decimal". Para la escritura de cualquier número se usan diez símbolos especiales 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 llamados dígitos; ellos denotan los números de cero a nueve. El siguiente número, que es diez es escrito con dos dígitos: 10 y significa una decena y cero unidades. En este sistema "decimal" se acostumbra decir que la base es diez o el sistema es en base diez.

Ahora, ¿qué ocurre si utilizamos otro número como base, digamos seis?

Análogamente se necesitan seis símbolos como dígitos; pudiéndose tomar los seis símbolos familiares 0, 1, 2, 3, 4, 5, los cuales denotan los números de cero a cinco. En estas circunstancias, el número seis se escribirá 10 y será un seis y cero unidades.

157

Procediendo en forma similar, se puede representar cualquier número natural como la suma de diferentes potencias de seis con coeficientes de 0 a 5. Por ejemplo (Todos los números están escritos en sistema decimal):

7

= 1

6 1 + 1 6 0

12

= 2 6 1 + 0 6 0

35

= 5 6 1 + 5 6 0

45

= 1 6 2 + 1 6 1 + 3 6 0

En este nuevo sistema que se llamará "sistema en base seis" el número 7 es "11"; el número 12 es "20"; 35 es "55" y 45 es "113".

Es fácil ver que podemos escribir cualquier número natural en el sistema en base seis.

Veamos como podemos escribir el número 451 en un sistema base seis:

La mayor potencia de seis que no excede 451 es 216. Dividiendo 450 por 216, se tiene un cociente 2 y un residuo 19. El primer dígito de 450 en el sistema base seis es 2. Ahora, tomamos el residuo 18 y lo dividimos por la

siguiente potencia de seis que es 6 2 = 36; el cociente es 0. El residuo es 19 y

si lo dividimos por la siguiente potencia de seis que es 6 1 = 6 se obtiene cociente 3 y residuo 1; por tanto el siguiente dígito es 3. El último dígito será

1 que es el cociente de dividir el último residuo que es 1 por 6 0 = 1.

Finalmente, la representación en base seis de 451 es "2031".

Similarmente, tomando un número natural n > 1, podemos construir un sistema numérico base n en el cual los dígitos de cualquier número están conectados con esta representación como una suma de potencias de n. Para evitar ambigüedades se escribirá la base del sistema en subíndice (en notación decimal) a la derecha del numeral.

Usando esta notación se tendrá entonces:

158

710 = 116; 1210 = 206; 3510 = 556; 4510 = 1136.

En conclusión, para escribir un número en base n, se debe tener la siguiente representación:

a k n k + a k-1 n k-1 +

+ a 2 n 2 + a 1 n 1 + a 0 n 0

donde cada a i toma valores de 0 a n 1.

Ejemplo 1.

Escribir el número 10010 en los sistemas cuyas bases son 2, 3, 4, 5, 6, 7, 8,

9.

Siguiendo el método del ejemplo anterior (escribir 451 en base seis) se tiene:

100 10 = 1 x 2 6 + 1 x 2 5 + 0 x 2 4 + 0 x 2 3 + 1 x 2 2 + 0 x 2 1 + 0 x 2 0 =

= 1100100 2

+ 1 x 2 2 + 0 x 2 1 + 0 x 2 0 =
+ 1 x 2 2 + 0 x 2 1 + 0 x 2 0 =
+ 1 x 2 2 + 0 x 2 1 + 0 x 2 0 =
+ 1 x 2 2 + 0 x 2 1 + 0 x 2 0 =
+ 1 x 2 2 + 0 x 2 1 + 0 x 2 0 =
+ 1 x 2 2 + 0 x 2 1 + 0 x 2 0 =
+ 1 x 2 2 + 0 x 2 1 + 0 x 2 0 =

Ejemplo 2.

Escribir en notación decimal los números 10101 2 , 10101 3 , 211 4 , 126 7 , 158 11 .

159

Ejemplo 3. En un sistema cuya base es mayor qu e 10, se necesitan más
Ejemplo 3. En un sistema cuya base es mayor qu e 10, se necesitan más
Ejemplo 3. En un sistema cuya base es mayor qu e 10, se necesitan más
Ejemplo 3. En un sistema cuya base es mayor qu e 10, se necesitan más
Ejemplo 3. En un sistema cuya base es mayor qu e 10, se necesitan más

Ejemplo 3.

En un sistema cuya base es mayor que 10, se necesitan más de 10 símbolos como dígitos, por tanto hay que "inventar" uno. Por ejemplo podemos usar "A" para representar el "dígito" 10. Así por ejemplo 21 10 se puede escribir en

base 11 como 1A.

En efecto:

.
.

Usando la anterior notación, escribamos 111 10 en base 11.

se puede escribir en base 11 como 1A. En efecto: . Usando la anterior no tación,

160

Multiplicación y división

Página 1 de 7

Multiplicación y divisió n Página 1 de 7 5.2 Multiplicaci ón y división. Veamos ahora como

5.2 Multiplicación y división.

Veamos ahora como se suma y se multiplica en cualquier sistema numérico. El proceso es exactamente igual a lo que se hace en notación decimal, pero teniendo en cuenta que el "acarreo" ocurre cada vez que el resultado de sumar dos dígitos de una columna excede o es igual a la base a la cual están referidos los números.

Como ejemplo, vamos a sumar los números 12410 y 41710 en el sistema base

3.

Primero, se reescriben los números a sumar en el sistema base 3 así:

reescriben los números a sumar en el sistema base 3 así: Luego escribimos los números a
reescriben los números a sumar en el sistema base 3 así: Luego escribimos los números a

Luego escribimos los números a sumar como usualmente se ha hecho.

los números a suma r como usualmente se ha hecho. El "acarreo", cuando ocurre aparece entre

El "acarreo", cuando ocurre aparece entre paréntesis en la parte superior del primer sumando.

Ahora:

en la parte superior del primer sumando. Ahora: Ejemplo 4. Multiplicar 13 1 0 y 43

Ejemplo 4.

Multiplicar 13 10 y 43 10 pero en el sistema base 5.

Primero reescribimos los números a multiplicar en el sistema base 5 así:

los números a multiplicar en el sistema base 5 así: Luego escribimos los números a multip
los números a multiplicar en el sistema base 5 así: Luego escribimos los números a multip

Luego escribimos los números a multiplicar como normalmente se ha hecho.

161

Multiplicación y división

Página 2 de 7

Ahora,

Multiplicación y divisió n Página 2 de 7 Ahora, Veamos por qué , escribo 4 y
Multiplicación y divisió n Página 2 de 7 Ahora, Veamos por qué , escribo 4 y

Veamos por qué

y divisió n Página 2 de 7 Ahora, Veamos por qué , escribo 4 y "acarreo"
y divisió n Página 2 de 7 Ahora, Veamos por qué , escribo 4 y "acarreo"

, escribo 4 y "acarreo" 1.

y 1 que "traigo" es7 Ahora, Veamos por qué , escribo 4 y "acarreo" 1. , escribo 0 y "acarreo"

escribo 4 y "acarreo" 1. y 1 que "traigo" es , escribo 0 y "acarreo" 2.

, escribo 0 y "acarreo" 2.

y 2 que "traigo" es1 que "traigo" es , escribo 0 y "acarreo" 2. , es decir . La tabla

escribo 0 y "acarreo" 2. y 2 que "traigo" es , es decir . La tabla

, es decir

.
.

La tabla del producto en base 5 salvo "acarreo" es:

Ejemplo 5.

Calcular

en base 5 salvo "acarreo" es: Ejemplo 5. Calcular O sea que Existe un algoritmo muy

O sea que

5 salvo "acarreo" es: Ejemplo 5. Calcular O sea que Existe un algoritmo muy efectivo para
5 salvo "acarreo" es: Ejemplo 5. Calcular O sea que Existe un algoritmo muy efectivo para
5 salvo "acarreo" es: Ejemplo 5. Calcular O sea que Existe un algoritmo muy efectivo para

Existe un algoritmo muy efectivo para pasar un número en base 10 a otra base y se describe así:

a). último dígito es el residuo de dividir el número por la base del nuevo sistema.

162

Multiplicación y división

Página 3 de 7

b). El segundo dígito se obtiene de la forma siguiente: se toma el cociente de la división anterior y se divide por la base del nuevo sistema, el residuo será el segundo dígito.

c). Repetimos el proceso hasta hallar la representación completa del número.

Ejemplo 6.

Usando el algoritmo descrito, escribir 451 10 en base 6.

451 = 75 6 + 1

75

= 12 6 + 3

12

= 2 6 + 0

2

= 0 6 + 2

O

sea que 451 10 = 2031 6 .

Ejemplo 7.

Escribir 724 en base 7.

724

= 103 7 + 3

103

= 14 7 + 5

14 = 2 7 + 0

2

= 0 7 + 2

O

sea que 724 10 = 2053 7 .

Ejemplo 8.

Un profesor observa escrito en el tablero 3 4 = 10. ¿En que base numérica es correcto?

Sea n la base buscada. Se debe cumplir:

10 n = 1 x n 1 + 0 x n 0 = n

En la base n se cumple que 3 < n y 4 < n.

163

Multiplicación y división

Página 4 de 7

Entonces 3 4 = n o sea que n = 12. O sea en base 12; se observa que 10 12

= 12.

El siguiente ejemplo ilustra situaciones interesantes donde intervienen bases

numéricas.

Ejemplo 9

¿Existen

sistemas

numéricos

donde

las

siguientes

igualdades

son

simultáneamente verdaderas?

a. 3 + 4 = 10

b. 2 + 3 = 5

y

y

3 4 = 15

2 3 = 11

Desarrollo parte (a).

Sea n la base pedida. Obligatoriamente se debe cumplir que 3, 4, 5 son menores que n.

10n = 1 x n 1 + 0 x n 0 = n

15 n = 1 x n 1

+

O

sea:

3

+

4 = n

3

4 = n

+ 5

5 x n 0 = n + 5

Por tanto n = 7 satisface simultáneamente las dos ecuaciones.

Desarrollo parte (b).

Sea n la base pedida. Obligatoriamente 2, 3, 5 son menores que n.

5n = 5 x n 0 = 5

11 n = 1 x n 1

+

1

x

n 0

=

n

+

1

O sea que:

2 + 3 = 5

164

Multiplicación y división

Página 5 de 7

23 = n + 1

De la segunda igualdad n = 5 pero entra en contradicción con la primera igualdad porque 5 no es un dígito en el sistema base 5. Por tanto no existe solución.

Ejemplo 10.

En un tablero aparece la siguiente suma parcialmente borrada:

un tablero aparece la siguie nte suma parcialmente borrada: Encuentre el sistema numérico en el que

Encuentre el sistema numérico en el que está hecha la suma y los dígitos borrados.

La base debe ser mayor que 6 debido a que los sumandos contienen los dígitos 1, 2, 3, 4, 6.

Como la suma de la primera columna es 3, la única posibilidad es que el dígito borrado en la primera columna sea 1.

es que el dígito borrado en la primera columna sea 1. Como "acarreando" 1 a la

Como

"acarreando" 1 a la columna siguiente; pero 5 + 4 = 9 y 9 = 7 + 2, por tanto la base pedida es 7 y así

está

la

suma

de

la

segunda

columna

es

2,

necesariamente

.
.

Como se "acarrea" 1 a la tercera columna y la base es 7 se tiene que: x + 1 + 6 = 4, y como se trabaja en base 7, necesariamente x = 4, con lo que 4 +

1 + 6 = 11 y 1110 = 147 o sea que se escribe 4 y "acarreo" 1 a la cuarta

columna.

que se escribe 4 y "acarreo" 1 a la cuarta columna. Como se está "acarreando" un

Como se está "acarreando" un 1 de la tercera columna y la base es 7, se

tiene en la cuarta columna, 3 + 1 + y = 2. Necesariamente y = 5, con lo que

3 + 1 + 5 = 9 y 9 10 = 12 7 , o sea que se escribe 2 y se "acarrea" un 1 a la

quinta columna.

165

Multiplicación y división

Página 6 de 7

Ejemplo 11.

Multiplicación y divisió n Página 6 de 7 Ejemplo 11. Un profesor dice que hay 100

Un profesor dice que hay 100 estudiantes en la clase de los cuales 24 son niños y 32 son niñas. ¿Qué base numérica está utilizando el profesor?

Sea n la base pedida.

rica está utilizan do el profesor? Sea n la base pedida. Se debe cumplir que: .

Se debe cumplir que:

.
.

O sea n 2 = 5n + 6;

n 2 5n 6 = 0

Por tanto n = 6 y n = 1.

La base que está utilizando es 6.

El número de estudiantes es (en base 10):

utilizando es 6. El número de estudiantes es (en base 10): estudiantes. Número de niños: Número

estudiantes.

Número de niños:

Número de niñas:

base 10): estudiantes. Número de niños: Número de niñas: Ejercicios 5.2 1. Convertir 1011101 2 a
base 10): estudiantes. Número de niños: Número de niñas: Ejercicios 5.2 1. Convertir 1011101 2 a

Ejercicios 5.2

1. Convertir 1011101 2 a base 10, base 8 y base 16.

2. Convertir 52325 10 a base 2, dase 3y base 16.

3. Dados 110011101 2 y 10110111 2 evalúe su suma y su multiplicación.

4. Convertir 2537 8 a base binaria.

5. Dados 57610 y 23810, convertirlos a base binaria y multiplicarlos. Comprobar el resultado realizando la multiplicación en base 10.

6. Dados 1101101 2 y 1000111 2 , efectuar su resta. Comprobar el resultado realizando la resta en base 10.

Multiplicación y división

Página 7 de 7

Multiplicación y divisió n Página 7 de 7 167 http ://huitoto.udea.edu.co/Sistem asDiscretos/contenido/m
Multiplicación y divisió n Página 7 de 7 167 http ://huitoto.udea.edu.co/Sistem asDiscretos/contenido/m

167

5.3 Multiplicación por la base. Las conversiones de base para fracci ones pueden realizarse mediante

5.3 Multiplicación por la base.

Las conversiones de base para fracciones pueden realizarse mediante el método de multiplicación por la base. Sea NF una fracción de la base A. La

fracción

se

puede

escribir

como

una

serie

así:

base A. La fracción se puede escribir como una serie así: . Los b i representan

.

Los b i representan los dígitos de (N F ) B en base A. El dígito más significativo

de (N F ) B en base A. El dígito más significativo se puede obtener al
de (N F ) B en base A. El dígito más significativo se puede obtener al
de (N F ) B en base A. El dígito más significativo se puede obtener al

se

puede

obtener

al

multiplicar

por

como

así,

por

sigue:

se puede obtener al multiplicar por como así, por sigue: es la parte entera es .

es la parte enterase puede obtener al multiplicar por como así, por sigue: es . En del producto que

al multiplicar por como así, por sigue: es la parte entera es . En del producto
al multiplicar por como así, por sigue: es la parte entera es . En del producto
al multiplicar por como así, por sigue: es la parte entera es . En del producto

esal multiplicar por como así, por sigue: es la parte entera . En del producto que

. En

del producto que resulta de multiplicar la

fracción por . Por tanto, el procedimiento de multiplicación por la base se resume como sigue:

general,

la parte entera del producto que resulta de multiplicar

la parte entera del producto que resulta de multiplicar 1. Sea = . 2. Calculamos los

1. Sea

parte entera del producto que resulta de multiplicar 1. Sea = . 2. Calculamos los dígitos

=

.
.

2. Calculamos los dígitos

resulta de multiplicar 1. Sea = . 2. Calculamos los dígitos , para i = 1

, para i = 1

m

multiplicando F i por

los dígitos , para i = 1 m multiplicando F i por para obtener el entero

para obtener el entero

.
.
i = 1 m multiplicando F i por para obtener el entero . que representa al

que representa al dígito

i por para obtener el entero . que representa al dígito y la fracción 3. Convertimos

y la fracción

3. Convertimos cada dígito

a la base B.

y la fracción 3. Convertimos cada dígito a la base B. Ejemplo 12. Convertir (0.1285) 10

Ejemplo 12.

Convertir (0.1285)10 a base 8.

a la base B. Ejemplo 12. Convertir (0.1285) 10 a base 8. así, (0.1285) 1 0

así, (0.1285) 10 = (0.10162540

Ejemplo 13.

)

8

.

168

Convertir (0.828125) 10 a base 2.

Utilizaremos una notación abreviada en este ejemplo al aplicar el método de multiplicación por la base. En cada línea la fracción se multiplica por 2 para obtener la línea siguiente:

se multiplica por 2 para obtener la línea siguiente: por tanto (0.828125) 1 0 =(0.110101) 2

por tanto (0.828125) 10 =(0.110101) 2 .

Se resumirá el algoritmo para convertir un número N en base A a base B así:

1. Se convierte el número en base A a uno en base 10 utilizando la expansión polinomial.

2. Se usa el método de la división entre la base o multiplicación por la base con aritmética decimal, para convertir N de base 10 a base B.

Ejemplo 14 .

Convertir (18.6)9 a base 11.

10 a base B. Ejemplo 14 . Convertir (18.6) 9 a base 11. Al convertir la
10 a base B. Ejemplo 14 . Convertir (18.6) 9 a base 11. Al convertir la

Al convertir la base 10 en base 11 por división y multiplicación en la base se tiene

169

por tanto (17) 10 = (16) 11 .

por tanto (17) 1 0 = (16) 1 1 . por tanto (0.666) 1 0 =

por tanto (0.666) 10 = (0.736) 11 .

Al unir la parte entera y fraccionaria (18.6)9 = (16.736

)11.

170

5.4 Sistemas numéricos complementarios. Los números complementarios son la base de la aritmética complementaria, un

5.4 Sistemas numéricos complementarios.

Los números complementarios son la base de la aritmética complementaria, un método de gran utilidad que se emplea en los circuitos digitales para realizar operaciones aritméticas con números con signo.

Un número con signo N = (an-1

signo

positivo y s = r-1 si N es negativo.

a0a-1

sa

a-m)r

0

a -1

en el formato de magnitud y

se

expresa como N

=

(sa n-1

sa

-m ) rsm donde

s

=

0

si

N

es

de

N

=

(13) 10 en binario y

Ejemplo 15.

Determinar el código de magnitud y

decimal.

signo

En binario: N = - (13)10 = - (1101)2 = (1,1101)2sm

En decimal: N = - (13) 10 = (9,13) 10sm

En los sistemas complementarios, los números positivos se expresan de la misma manera que los números con magnitud y signo, mientras que los números negativos se representan como el complemento del número positivo correspondiente.

El complemento a una base y el complemento disminuido a una base son sistemas numéricos importantes que se analizarán a continuación.

5.4.1. Complementos a una base.

El complemento a una base [N] r de un número (N) r se define como:

[N] r = r n (N) r

donde n es el número de dígitos de (N)r.

El número positivo más grande que puede representarse es r n 11, mientras

el número negativo más pequeño es r n 1.

El complemento a dos es un caso especial del complemento a una base para números binarios y está dado por:

171

[N] 2 = 2 n (N) 2

El complemento a dos es el formato de uso más frecuente para los números con signo en circuitos digitales.

Ejemplo 16.

Determine el complemento a dos de (N)2 = (01100101)2.

[N] 2 = 2 8 (01100101) 2

= (100000000) 2 (01100101) 2

= (10011011) 2

Ejemplo 17.

Determinar el complemento a dos de (N) 2 = (11010100) 2 y verificar que

puede servir para representar (N)2 demostrando que (N)2 [N]2 = 0.

[N] 2 = 2 8 (11010100) 2

= (00101100) 2

para verificar que [N]2 representa a (N)2, sumamos (N)2 [N]2:

11010100

+ 00101100

-------------

acarreo --->

1 00000000

si descartamos el bit de acarreo, tenemos que (N) 2 [N] 2 =(00000000) 2 . Por

tanto podemos utilizar [N] 2 para representar (N) 2 .

Ejemplo 18.

Determinar el complemento a 10 de (N)10 = (40960)10.

[N] 10 = 10 5 (40960) 10

= (59040) 10

172

Obsérvese que se mantienen los cinco dígitos en el resultado.

Se presenta a continuación un algoritmo para hallar [N] r dado (N) r , sin

demostración. El algoritmo dice así: Reemplazamos cada dígito a k de (N) r , por

(r1) ak y después sumamos 1 al resultado.

Ejemplo 19.

Halle el complemento a dos de N = (01100101) 2 .

[N] r = 10011010 1 = (10011011) 2 .

Ejemplo 20.

Determine el complemento a base diez de (40960)10.

N = 40960

[N] 10 = (59039 1) 10

[N]10 = (59040)10

Ejemplo 21.

Dado (N) 2 = (1100101) 2 determinar las representaciones de (N) 2 en el

sistema numérico de complemento a dos para n = 8.

(N) 2 = (0,1100101) 2ms .

(N)2 = [(N)2]2

= 2 8 (0,1100101) 2

= (100000000) 2 (0,1100101) 2

= (1,0011011)

Ejemplo 22.

Determinar las representaciones en el sistema numérico de complemento a 2 de (110101)2 para n = 8.

(110101) 2 = (0,0110101) 2ms

173

(110101) 2 = [110101] 2

= 2 8 (110101) 2

=(100000000) (110101)2

=(1,1001011) 2ms

Ejemplo 23.

Determine el número decimal representado por N = (1,1111010) 2ms .

Por el bit de signo sabemos que N es un número negativo. Así, se determina

la

magnitud de N calculando su complemento a 2.

N

= (1,1111010)2ms.

=

[1,1111010] 2 .

=

(2 8 (1,1111010) 2 )

=

(0,0000110)2ms.

=

(6) 10 .

174

5.5 Aritmética complemento a una base. Muchas computadoras digita les utilizan un sistema numérico de

5.5 Aritmética complemento a una base.

Muchas computadoras digitales utilizan un sistema numérico de complemento a base a fin de minimizar la cantidad de circuitos necesarios para realizarla aritmética de enteros.

Por ejemplo, se puede realizar la operación A B calculando A (B) donde (B) está representado por el complemento a 2 de B. Por tanto, la computadora sólo necesita un sumador binario y algunos circuitos complementarios para la suma y la resta.

Las máquinas que utilizan el sistema numérico de complemento a 2 pueden

representar enteros en el intervalo –2 n-1 N 2 n-1 -1, donde n es el número de bits disponibles para representar a N.

Observe que 2 n-1 -1=(0,11

extremo representa el signo y los n-1 bits restantes representan la magnitud.

1)

2ms y que –2 n-1 =(1,00

0)

2ms ,

donde

el

bit

Se considerarán tres casos para ilustrar la aritmética en el sistema numérico de complemento a dos: A=B+C, A=B-C y A=-B-C. Se describirá cada caso en general y para todos los casos se supondrá que B0 y C0. Los resultados se pueden generalizar fácilmente, si B y C son negativos.

Caso 1:

Calcular A=B+C. Como B y C son positivos, A también lo será, y esto se convierte simplemente en

(A) 2 = (B) 2 + (C) 2

Como los tres números son positivos, no hay que utilizar complemento a dos.

Cuando A2 n-1 -1, es decir, cuando hay desbordamiento existe una dificultad. Es fácil detectar tal condición, ya que el bit del signo de A será incorrecto.

Ejemplo 24.

Calcule (9) 10 + (5) 10 con aritmética de complemento a dos de 5 bits.

+(9) 10 = +(1001) 2 = (0,1001) 2ms

+(5) 10 = +(0101) 2 = (0,0101) 2ms

Al sumar estos códigos de 5 bits se obtiene

175

 

0

1

0

0

1

0

0

1

0

1

+

0

1

1

1

0

Como el resultado también tiene un bit de signo 0, representa correctamente la suma derecha, que se interpreta como,

(0,1110) 2ms = +(1110) 2 = (14) 10

Ejemplo 25.

Calcular (12)10 + (7)10

(12) 10 = +(1100) 2 = (0,1100) 2ms

(7) 10 = +(0111) 2 = (0,0111) 2ms

Sumando los dos códigos de 5 bits resulta

 

0

1

1

0

0

0

0

1

1

1

+

1

0

0

1

1

El resultado es (1,0011) 2ms , que se interpreta, como (1,0011) 2ms = -(1101) =

-(13) 10

El resultado es un número negativo. Sin embargo, esto no puede ser correcto, por lo que debe haber una explicación. La respuesta es que la suma de los dos números dados requiere mas espacio que los cinco bits originados para representarla.

La suma correcta es +(19)10, que está fuera del intervalo de números de

complemento a dos de cinco bits, pues la escala total positiva es (0,1111) 2ms =+(15) 10 . El bit de signo incorrecto obtenido en los cálculos indica un

resultado incorrecto. Por tanto, hay una condición de desbordamiento.

Caso 2:

Calcular

A =

B

C.

Se

considera

este cálculo como A =

B

+(C) de la

siguiente manera:

176

A

= (B) 2 + ((C) 2 )

A = (B) 2 + [C] 2

A = (B)2 + 2 n – (C)2

A = 2 n + (B C) 2

2 n es un término adicional. Si B C, entonces B-C0, lo que hace A2 n . El

término 2 n representa un bit de acarreo y se puede ignorar, conservando (B C) 2 . Por tanto (A) 2 = (B) 2 [C] 2 y se descarta el acarreo. Si B C, entonces B

C 0, lo que da A = 2 n (C – B) 2 = [C B] 2 , o A= (C B) 2 que es la

respuesta deseada. En este caso no hay acarreo.

Si B y C son ambos positivos, la magnitud de B C siempre será menor que cualquiera de los dos números. Esto significa que no se presenta desbordamiento al calcular B C.

Ejemplo 26.

Calcular (12) 10 – (5) 10

Se realiza este cálculo como (12)10 + (-(5)10)

(12) 10 = (1100) 2 = (0,1100) 2ms

-(5)10 = -(0101)2 = (1,1011)2ms

Se suman los dos números de 5 bits

 

0

1

1

0

0

+

1

1

0

1

1

1

0

0

1

1

1

Al descartar el acarreo, el bit de signo es cero y por tanto, se interpreta el resultado como (0,0111) 2ms = +(0111) 2 = +(7) 10

Ejemplo 27.

177

Calcule (5) 10 – (12) 10

Se realiza el cálculo como (5) 10 + (-(12) 10 ).

(5)10 = +(0101)2 = (0,0101)2ms

-(12) 10 = -(1100) 2 = (1,0100) 2ms

Se suman los dos códigos de 5 bits para obtener,

 

0

0

1

0

1

+

1

0

1

0

0

0

1

1

0

0

1

En este caso no hay acarreo y el bit de signo es 1, lo que indica que el resultado es negativo.

(1,1001) 2ms = -[1,1001] 2

= -(00111)2ms

= -(0111) 2

= -(7) 10

Caso 3:

Calcule A = B C. El resultado es A = (B C) = [B C]2.

Representamos B y C mediante el complemento a dos de sus magnitudes,

y calculamos A = (B) (C). Por tanto,

A = [B] 2 [C] 2 .

= 2 n (B) 2 2 n (C) 2

= 2 n 2 n (B C) 2

= 2 n [B C]2

Si se descarta el bit de acarreo (2 n ), el cálculo produce el resultado correcto.

Ejemplo 28.

178

Calcule (9) 10 (5) 10

Se realiza el cálculo como ((9) 10 ) ((5) 10 ).

(9)10 = (1001)2 = (0,1001)2ms = [01001]2ms = (1,0111)2ms

(5) 10 = (0101) 2 = (0,0101) 2ms = [0,0101] 2ms = (1,1011) 2ms

Al sumar los dos códigos de cinco bits se obtiene:

 

1

0

1

1

1

+

1

1

0

1

1

1

1

0

0

1

0

acarreo

Al descartar el acarreo se tiene un bit de signo 1. Por tanto el resultado es correcto y se interpreta como:

(1,0010) 2ms = -[1,0010] 2

= -(01110)2ms

= -(1110) 2

= -(14) 10

En este caso puede haber desbordamiento, lo que se indica mediante un resultado que tiene un bit de signo incorrecto como en el ejemplo siguiente.

Ejemplo 29.

Calcule (12)10 (5)10

Se realiza el cálculo como ((12) 10 ) ((5) 10 ).

(12) 10 = (1100) 2 = (0,1100) 2ms = (1,0100) 2ms

(5)10 = (0101)2 = (0,0101)2ms = (1,1011)2ms

Al sumar los dos códigos de cinco bits se obtiene:

1 0

1

0

0

179

+ 1

1

0

1

1

1 0

1

1

1

1

acarreo

Al descartar el acarreo, se interpreta el resultado como:

(0,1111)2ms = (1111)2

= (15) 10

El resultado es incorrecto.

Como el bit de signo es incorrecto, entonces, hay un desbordamiento.

Ejemplo 30.

Si A y B son variables enteras de un programa para computadora, con (25) 10 y B = (46) 10 .

A =

Si la computadora utiliza aritmética de complemento a dos con 8 bits, mostrar la forma como calcularía A B, A B, B A, y A B.

Las variables A y B se guardarían en la memoria de la computadora con el formato de sistema numérico de 8 bits de complemento a dos.

A = (25)10 = (0,0011001)2ms

B = (46) 10 = (0,0101110) 2ms = (1,1010010) 2ms

Calculemos los complementos a dos de A y B para representar A y B respectivamente.

A = (25) 10 = (0,0011001) 2ms = (1,1100111) 2ms

B = ((46)10) = (1,1010010)2ms = (0,0101110)2ms

Al realizar los cálculos se obtiene:

A

B:

0

0

0

1

1

0

0

1

+

1

1

0

1

0

0

1

0

0

1

1

1

0

1

0

1

1

180

A

B = (1,1101011) 2ms = (0,0010101) 2ms = (21) 10

A B = A ( B):

 

0

0

0

1

1

0

0

1

+

0

0

1

0

1

1

1

0

0

0

1

0

0

0

1

1

1

A

B = (0,1000111)2ms = (71)10

B

A = B (A):

 

1

1

0

1

0

0

1

0

+ 1

1

1

0

0

1

1

1

1 1

0

1

1

1

0

0

1

El resultado es B A = (1,0111001) = (0,1000111) 2ms = (71) 10

A B = (A) (B):

1

1

1

0

0

1

1

1

+ 0

0

1

0

1

1

1

0

1 0

0

0

1

0

1

0

1

A B = (0,0010101)2ms = (21)10

Ejemplo 31.

Sumar (75) 10 y (21) 10 usando complemento de 10 de los dos números.

(75)10 = (0,75)10ms

(21) 10 = (9,79) 10ms

0

7

5

+ 9

7

9

181

1

0

5

4

Descartando el dígito de acarreo, el resultado es (0,54) 10ms = (54) 10 que es el resultado correcto.

182

5.6 Sistemas numéricos con comp lemento disminui do a una base. El complemento disminuido a

5.6 Sistemas numéricos con complemento disminuido a una base.

El complemento disminuido a una base [N] r 1 de un número (N) r se define

como: [N] r 1 = r n (N) r 1, donde n es el número de dígitos de (N) r .

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 = 2 n (N)21, donde n es el número de bits de (N)2.

Algoritmo para determinar [N] r 1 dado (N) r .

Reemplazamos cada dígito a i de (N) r por r 1 a i . Observe que si r = 2,

basta con complementar cada bit individual de (N)r.

Ejemplo 32.

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 33.

Sumar +(1001) 2 y (1111) 2

+(1001)2:

0

1

0

0

1

183

-(1111) 2 :

+

0

--------------------------

1

1

0

0

0

1

1

0

0

El acarreo final circular es 0 y por tanto,

+ (1001) 2 (1111) 2 = (1,1001) 2ms = (0,0110) 2ms = (0110) 2 .

Ejemplo 34.

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 35.

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 .

184