Está en la página 1de 11

EJERCICIOS RESUELTOS DEL TEMA 5

MULTIPLICACIN
1.- Multiplicar los nmeros 27 y -7 utilizando representacin binaria en
complemento a 2, con el mnimo nmero posible de bits y empleando el
algoritmo apropiado.
Vamos a multiplicar +27 (multiplicando) por -7 (multiplicador) con el algoritmo de
Booth.

+ 27 0 11011 +7 0 111
- 271 00101 - 7 1 001

R1 C R3 R4 R2 R2-1 Contador
Inicio 11011 0 00000 xxxx 100 1 0 0
1 00101 +
Resta 11011 1 00101 xxxx 100 1 0 0
Increm. Cont 11011 1 00101 xxxx 100 1 0 1
Desp. y rotac. 11011 1 10010 1xxx 010 0 1 1
0 11011 +
Suma 11011 0 01101 1xxx 010 0 1 1
Increm. Cont 11011 0 01101 1xxx 010 0 1 2
Desp. y rotac. 11011 0 00110 11xx 101 0 0 2
0 00000 +
Nada 11011 0 00110 11xx 101 0 0 2
Increm. Cont 11011 0 00110 11xx 101 0 0 3
Desp. y rotac. 11011 0 00011 011x 010 1 0 3
1 00101 +
Resta 11011 1 01000 011x 010 1 0 3
Increm. Cont 11011 1 01000 011x 010 1 0 4

Desp. y rotac. 11011 1 10100 0011 001 0 1 4 Fin

NOTA 1: Resta supone sumar lo que hay en R3 con 1 00101 (-27) y Suma supone
sumar lo que hay en R3 con 0 11011 (+27).

NOTA 2: R2 y R4 podran ser el mismo registro, ya que a medida que van entrando bits
desde la izquierda a R4, van dejando de ser necesarios los mismos bits en R2.

NOTA 3: Obsrvese que el valor de la columna R1 del multiplicando R1 no vara en el


proceso, con lo cual se podra prescindir de ella. Simplemente se suma o resta, segn el
caso, con C R3.

1
2.- Realizar la multiplicacin de los nmeros 38 (multiplicando) y -6
(multiplicador) empleando representacin binaria en complemento a 2 con
el mnimo nmero de bits y utilizando para ello el algoritmo apropiado.
Vamos a multiplicar +38 (multiplicando) por -6 (multiplicador) con el algoritmo de
Booth

+38 0 100110 +6 0 110


-38 1 011010 - 6 1 010

Operacin C R3 R2=R4 R2-1 Contador


Inicio 0 000000 101 0 0 0
0 000000 +
Nada 0 000000 101 0 0 0
Increm. Cont 0 000000 101 0 0 1
Desp. y rotac. 0 000000 010 1 0 (*) 1
1 011010 +
Resta 1 011010 010 1 0 1
Increm. Cont 1 011010 010 1 0 2
Desp. y rotac. 1 101101 001 0 1 (*) 2
0 100110 +
Suma 0 010011 001 0 1 2
Increm. Cont 0 010011 001 0 1 3
Desp. y rotac. 0 001001 100 1 0 (*) 3
1 011010 +
Resta 1 100011 100 1 0 3
Increm. Cont 1 100011 100 1 0 4

Desp. y rotac. 1 110001 1100 0 1 (*) 4 Fin

NOTA 1: Resta supone sumar lo que hay en R3 con 1 011010 (-38) y Suma supone
sumar lo que hay en R3 con 0 100110 (+38).

NOTA 2: se han unido en un nico registro R2 y R4.

NOTA 3: Se ha prescindido de la columna R1.

(*): El anterior bit R2-1, tras desplazarse a la derecha, se pierde.

2
3.- Multiplique, empleando el algoritmo adecuado, (13) x (-10) siendo +13
el multiplicando y -10 el multiplicador.

+13 +R1 = 0 1101 +10 0 1010

-13 -R1 = 1 0011 - 10 1 0110

Operacin C R3 R4=R2 R2-1 Comentarios

Inicio 00000 10110 0 No hay cambio de bit

Desplazamiento derecha 00000 01011 0 (*) Comienza cadena unos

Resta 10011+

Resultado resta 10011 01011 0

Desplazamiento derecha 11001 10101 1 (*) No hay cambio de bit

Desplazamiento 11100 11010 1 (*) Comienza cadena ceros

Suma 01101+

Resultado suma 01001 11010 1

Desplazamiento derecha 00100 11101 0 (*) Comienza cadena unos

Resta 10011+

Resultado resta 10111 11101 0

Desplazamiento 11011 11110 1 (*) Fin

NOTA: Resta supone sumar lo que hay en la parte alta con 1 0011 (-13) y Suma
supone sumar lo que hay en la parte alta con 0 1101 (+13).

(*): El anterior bit R2-1, tras desplazarse a la derecha, se pierde.

3
DIVISIN
4. Realice la operacin 38 dividido entre 6, aplicando un algoritmo de
divisin CON y SIN restauracin. Escribir todo el desarrollo del algoritmo.
CON RESTAURACIN

38 0 100110 +6 0 110 (+R2)


- 6 1 010 (-R2)

Operacin R1 R3 Comentarios
Inicio 0100 110
Resta siempre 1010+
Resultado resta 1110 110 R1-R2 <0? S
Suma para restaurar 0110+
Suma restaurada 0100 110 0 R3 0
Desplazamiento izquierda 1001 10
Resta siempre 1010+
Resultado resta 0011 10 R1-R2 <0? No
Desplazamiento izquierda 0111 0 01 R3 1
Resta siempre 1010+
Resultado resta 0001 0 R1-R2 <0? No
011 R3 1
Desplazamiento izquierda 0010
Resta siempre 1010+
Resultado resta 1100 R1-R2 <0? S
Suma para restaurar 0110+
Resultado suma 0010 0110 R3 0

Resto Cociente

NOTA: Cuando se dice R3 0 para el caso de que sea necesaria la


restauracin, el BS se refiere al que se produjo despus de Resta siempre
(dos lneas ms arriba), aunque se escriba, para mayor claridad, despus de
calcular la suma restaurada.

4
SIN RESTAURACIN

38 0 100110 +6 0 110 (+R2)


- 6 1 010 (-R2)

Operacin R1 R3 Comentarios
Inicio 0100 110
Resta inicial siempre 1010+
Resultado resta 1110 110 BS? 1
0 R3 BS(R1). SUMA
Desplazamiento 1101 10
Suma 0110+
Resultado suma 0011 10 BS? 0
01 R3BS(R1). RESTA
Desplazamiento 0111 0
Resta 1010+
Resultado resta 0001 0 BS? 0
011 R3 BS(R1). RESTA
Desplazamiento 0010
Resta 1010+
Resultado resta 1100 BS? 1
Restauracin resto (*) 0110+ 0110 R3 BS(R1)
Desplazamiento 0010

Resto Cociente

NOTA: El bit de signo resultante de hacer las sumas y las restas establece
qu bit se mete por la derecha en R3 y establece si sumar o restar en el
siguiente bucle.
(*) Hay que restaurar el resto al salir negativo, aunque le procedimiento sea SIN
RESTAURACIN

5
5. Dividir el nmero 225 entre 9 utilizando representacin binaria sin signo
con el mnimo nmero posible de bits y empleando el algoritmo de divisin
CON restauracin.

+ 225 0 11100001 +9 0 1001 (+R2)


- 9 1 0111 (-R2)

Operacin R1 R3 Comentarios
Inicio 01110 0001
Resta siempre 10111+
Resultado resta 00101 0001 R1-R2 <0? No
1 R3 1
Desplazamiento izquierda 01010 001
Resta siempre 10111+
Resultado resta 00001 001 R1-R2 <0? No
11 R3 1
Desplazamiento izquierda 00010 01
Resta siempre 10111+
Resultado resta 11001 0100 R1-R2 <0? S
Suma para restaurar 01001+
Suma restaurada 00010 01 110 R3 0
Desplazamiento izquierda 00100 1
Resta siempre 10111+
Resultado resta 11011 1 R1-R2 <0? S
Suma para restaurar 01001+
Suma restaurada 00100 1 1100 R3 0
Desplazamiento izquierda 01001
Resta siempre 10111+
Resultado resta 00000 R1-R2 <0? No
11001 R3 1

Resto Cociente

NOTA: Cuando se dice R3 0 para el caso de que sea necesaria la


restauracin, el BS se refiere al que se produjo despus de Resta siempre
(dos lneas ms arriba), aunque se escriba, para mayor claridad, despus de
calcular la suma restaurada.

6
6. Realice la divisin 117 / 9 con y sin restauracin.

117 0 1110101 +9 0 1001 (+R2)


- 9 1 0111 (-R2)

CON RESTAURACIN

Operacin R1 R3 Comentarios
Inicio 01110 101
Resta siempre 10111+
Resultado resta 00101 101 R1-R2 <0? No
1 R3 1
Desplazamiento izquierda 01011 01
Resta siempre 10111+
Resultado resta 00010 01 R1-R2 <0? No
11 R3 1
Desplazamiento izquierda 00100 1
Resta siempre 10111+
Resultado resta 11011 1 R1-R2 <0? S
Suma para restaurar 01001+
Suma restaurada 00100 1 110 R3 0
Desplazamiento izquierda 01001
Resta siempre 10111+
Resultado resta 00000 R1-R2 <0? No
1101 R3 1

Resto Cociente

7
117 0 1110101 +9 0 1001 (+R2)
- 9 1 0111 (-R2)

SIN RESTAURACIN

Operacin R1 R3 Comentarios

Inicio 01110 101


Resta inicial siempre 10111+
Resultado resta 00101 101 BS? 0
1 R3 BS(R1). RESTA
Desplazamiento 01011 01
Resta 10111+
Resultado resta 00010 01 BS? 0
11 R3BS(R1). RESTA
Desplazamiento 00100 1
Resta 10111+
Resultado resta 11011 1 BS? 1
110 R3 BS(R1). SUMA
Desplazamiento 10111
Suma 01001+
Resultado suma 00000 R1 <0? No
Desplazamiento 00000 1101 R3 BS(R1)

Resto Cociente

NOTA: El bit de signo resultante de hacer las sumas y las restas establece
qu bit se mete por la derecha en R3 y establece si sumar o restar en el
siguiente bucle.

8
PUNTO FLOTANTE
7. Represente segn el formato del IEEE754 el nmero real: 15.2 Exprese
el resultado en hexadecimal. Obtenga la aproximacin por truncacin y por
redondeo.

15,2 = 1111,0011 0011 0011 0011 0011 x 20 = 1,M x 23

0,2x=0,4 0,4x2=0,8 0,8x2=1,6 0,6x2=1,2 0,2x2=0,4 y as


sucesivamente. El bloque 0011 se repite peridicamente.

siendo M=1110011 0011 0011 (hasta completar 23 bits)

Por tanto

S EXP+127 MANTISA
0 100 0001 0 111 0011 0011 0011 0011 0011

O bien, en hexadecimal,

4 1 7 3 3 3 3 3

ste es el resultado truncando. Si se redondea, 011 se sustituye por 100,


con lo que quedara, en hexadecimal, 4173 3334.

8. Represente el nmero +2,71 segn el estndar IEEE 754, expresando el


resultado en hexadecimal. Si necesitase ms decimales que los que el
formato es capaz de representar, utilice truncatura (1,2 puntos).
2 10

0,71x2=1,42 0,36x2=0,72 0,76x2=1,52 0,16x2=0,32 0,56x2=1,12 0,96x2=1,92

0,42x2=0,84 0,72x2=1,44 0,52x2=1,04 0,32x2=0,64 0,12x2=0,24 0,92x2=1,84

0,84x2=1,68 0,44x2=0,88 0,04x2=0,08 0,64x2=1,28 0,24x2=0,48

0,68x2=1,36 0,88x2=1,76 0,08x2=0,16 0,28x2=0,56 0,48x2=0,96

0,71 0,1011010111000010100011

2,71 10,1011010111000010100011 x 20 = 1,01011010111000010100011 x 21

9
Exponente + 127 = 128, binario 10000000
S EXP+127 MANTISA

0 10000000 0101101 011100001010 0011

4 0 2 D 7 0 A 3

9. Determin qu nmero real representa, en el mismo formato IEEE 754,


el hexadecimal C8860800. (0,8 puntos).

C 8 8 6 0 8 0 0

1 1001000 1 000011000001000 0000 0000

Signo - Exponente + 127 = 128+16+1 Exponente = 18

Valor = -1,000011000001 x 218 = -1000011000001 x 26 = -4.289 x 64 = - 274.496

10
OTROS TIPOS
10. Se sabe que al realizar una operacin con el Algoritmo de Booth se
ejecuta la siguiente secuencia de operaciones DRDDSDRD (R: resta, S:
suma; D: desplazamiento). Si el resultado de la operacin ha sido 9C
(expresado en hexadecimal), cul era el multiplicando? (1,2 puntos).

El primer bit (de la derecha) siempre es 0 (R2-1=0)


D: No hay cambio de bit, por tanto, se mantiene el 0 0
R: Resta. Comienza cadena de unos 10
D: Desplazamiento necesario, es parte del proceso
D: No hay cambio de bit, por tanto, se mantiene el 1 110
S: Suma. Comienza cadena de ceros 0110
D: Desplazamiento necesario, es parte del proceso
R: Resta. Comienza cadena de unos 10110
D: Desplazamiento necesario, es parte del proceso

Por tanto, el multiplicador es 10110, que en complemento a 2 representa


-10. Como el producto es 9C, 10011100, que en complemento a 2
representa -100, el multiplicador es -100/-10 = +10.

11. Al multiplicar dos nmeros utilizando el algoritmo de Booth es preciso


realizar la siguiente secuencia de operaciones (D = desplazamiento
aritmtico a derecha, R = resta y S = suma): RDSDDRD y se obtiene como
producto +49. Cul ha sido el multiplicando (M) utilizado, expresado en
decimal?

El primer bit (de la derecha) siempre es 0 (R2-1=0)


R: Resta. Comienza cadena de unos 1
D: Desplazamiento necesario, es parte del proceso
S: Suma. Comienza cadena de ceros 01
D: Desplazamiento necesario, es parte del proceso
D: No hay cambio de bit, por tanto, se mantiene el 0 001
R: Resta. Comienza cadena de unos 1001
D: Desplazamiento necesario, es parte del proceso

El multiplicador es, en complemento a 2, 1001, cuyo valor decimal


corresponde a -7. Como el producto es +49, el multiplicando ser +7.

11

También podría gustarte