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 - 271 00101 +7 0 111 - 7 1 001 R4 R2 R2-1 xxxx 100 1 0 xxxx 100 1 xxxx 100 1 1xxx 010 0 1xxx 010 0 1xxx 010 0 11xx 101 0 11xx 101 0 11xx 101 0 011x 010 1 011x 010 1 011x 010 1 0011 001 0 0 0 1 1 1 0 0 0 0 0 0 1 Contador 0 0 1 1 1 2 2 2 3 3 3 4 4 Fin

Inicio Resta Increm. Cont Desp. y rotac. Suma Increm. Cont Desp. y rotac. Nada Increm. Cont Desp. y rotac. Resta Increm. Cont

R1 C R3 11011 0 00000 1 00101 + 11011 1 00101 11011 1 00101 11011 1 10010 0 11011 + 11011 0 01101 11011 0 01101 11011 0 00110 0 00000 + 11011 0 00110 11011 0 00110 11011 0 00011 1 00101 + 11011 1 01000 11011 1 01000

Desp. y rotac. 11011 1 10100

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.

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 -38 1 011010 Operacin Inicio Nada Increm. Cont Desp. y rotac. Resta Increm. Cont Desp. y rotac. Suma Increm. Cont Desp. y rotac. Resta Increm. Cont Desp. y rotac. C 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 R3 000000 000000 + 000000 000000 000000 011010 + 011010 011010 101101 100110 + 010011 010011 001001 011010 + 100011 100011 +6 0 110 - 6 1 010 R2=R4 R2-1 Contador 101 0 0 0 101 0 0 101 0 0 010 1 0 (*) 010 1 0 010 1 0 001 0 1 (*) 001 0 1 001 0 1 100 1 0 (*) 100 1 0 100 1 0 1100 0 1 (*) 0 1 1 1 2 2 2 3 3 3 4 4 Fin

1 110001

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.

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

+13 +R1 = 0 1101 -13 -R1 = 1 0011

+10 0 1010 - 10 1 0110

Operacin Inicio Desplazamiento derecha Resta Resultado resta Desplazamiento derecha Desplazamiento Suma Resultado suma Desplazamiento derecha Resta Resultado resta Desplazamiento

C R3 00000 00000 10011+ 10011 11001 11100 01101+ 01001 00100 10011+ 10111 11011

R4=R2 10110 01011

R2-1 0 0 (*)

Comentarios No hay cambio de bit Comienza cadena unos

01011 10101 11010

0 1 (*) 1 (*) No hay cambio de bit Comienza cadena ceros

11010 11101

1 0 (*) Comienza cadena unos

11101 11110

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

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) R1 0100 110 1010+ 1110 110 0110+ 0100 110 1001 10 1010+ 0011 10 0111 0 1010+ 0001 0 0010 1010+ 1100 0110+ 0010 R3 Comentarios

Operacin Inicio Resta siempre Resultado resta Suma para restaurar Suma restaurada Desplazamiento izquierda Resta siempre Resultado resta Desplazamiento izquierda Resta siempre Resultado resta Desplazamiento izquierda Resta siempre Resultado resta Suma para restaurar Resultado suma

R1-R2 <0? S 0 R3 0

01

R1-R2 <0? No R3 1 R1-R2 <0? No R3 1

011

R1-R2 <0? S 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.

SIN RESTAURACIN 38 0 100110 +6 0 110 (+R2) - 6 1 010 (-R2) R1 0100 110 1010+ 1110 110 1101 10 0110+ 0011 10 01 Desplazamiento Resta Resultado resta Desplazamiento Resta Resultado resta Restauracin resto (*) Desplazamiento 0111 0 1010+ 0001 0 011 0010 1010+ 1100 0110+ 0010 R3 Comentarios

Operacin Inicio Resta inicial siempre Resultado resta Desplazamiento Suma Resultado suma

BS? 1 R3 BS(R1). SUMA

BS? 0 R3BS(R1). RESTA

BS? 0 R3 BS(R1). RESTA

0110

BS? 1 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.
(*) Hay que restaurar el resto al salir negativo, aunque le procedimiento sea SIN RESTAURACIN

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) R1 01110 0001 10111+ 00101 0001 01010 001 10111+ 00001 001 11 Desplazamiento izquierda Resta siempre Resultado resta Suma para restaurar Suma restaurada Desplazamiento izquierda Resta siempre Resultado resta Suma para restaurar Suma restaurada Desplazamiento izquierda Resta siempre Resultado resta 00010 01 10111+ 11001 0100 01001+ 00010 01 110 00100 1 10111+ 11011 1 01001+ 00100 1 1100 01001 10111+ 00000 11001 Resto Cociente R3 Comentarios

Operacin Inicio Resta siempre Resultado resta Desplazamiento izquierda Resta siempre Resultado resta

R1-R2 <0? No R3 1

R1-R2 <0? No R3 1

R1-R2 <0? S R3 0

R1-R2 <0? S R3 0

R1-R2 <0? No R3 1

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. Realice la divisin 117 / 9 con y sin restauracin. 117 0 1110101 +9 0 1001 (+R2) - 9 1 0111 (-R2)

CON RESTAURACIN Operacin Inicio Resta siempre Resultado resta Desplazamiento izquierda Resta siempre Resultado resta Desplazamiento izquierda Resta siempre Resultado resta Suma para restaurar Suma restaurada Desplazamiento izquierda Resta siempre Resultado resta R1 01110 101 10111+ 00101 101 01011 01 10111+ 00010 01 11 00100 1 10111+ 11011 1 01001+ 00100 1 01001 10111+ 00000 R3 Comentarios

R1-R2 <0? No R3 1

R1-R2 <0? No R3 1

R1-R2 <0? S 110 R3 0

1101

R1-R2 <0? No R3 1

Resto

Cociente

117 0 1110101

+9 0 1001 (+R2) - 9 1 0111 (-R2)

SIN RESTAURACIN Operacin Inicio Resta inicial siempre Resultado resta Desplazamiento Resta Resultado resta Desplazamiento Resta Resultado resta Desplazamiento Suma Resultado suma Desplazamiento R1 01110 101 10111+ 00101 101 1 01011 01 10111+ 00010 01 11 00100 1 10111+ 11011 1 110 10111 01001+ 00000 00000 R3 Comentarios

BS? 0 R3 BS(R1). RESTA

BS? 0 R3BS(R1). RESTA

BS? 1 R3 BS(R1). SUMA

1101

R1 <0? No 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.

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 sucesivamente. El bloque 0011 se repite peridicamente. siendo M=1110011 0011 0011 (hasta completar 23 bits) Por tanto S 0 EXP+127 100 0001 0 MANTISA 111 0011 0011 0011 0011 0011 y as

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,42x2=0,84 0,84x2=1,68 0,68x2=1,36 0,36x2=0,72 0,72x2=1,44 0,44x2=0,88 0,88x2=1,76 0,76x2=1,52 0,52x2=1,04 0,04x2=0,08 0,08x2=0,16 0,16x2=0,32 0,32x2=0,64 0,64x2=1,28 0,28x2=0,56 0,56x2=1,12 0,12x2=0,24 0,24x2=0,48 0,48x2=0,96 0,96x2=1,92 0,92x2=1,84

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

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

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

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 D: Desplazamiento necesario, es parte del proceso S: Suma. Comienza cadena de ceros D: Desplazamiento necesario, es parte del proceso D: No hay cambio de bit, por tanto, se mantiene el 0 R: Resta. Comienza cadena de unos D: Desplazamiento necesario, es parte del proceso

1 01 001 1001

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