Você está na página 1de 11

Presentan: Hctor Herrera Uco Ulises Santos Lpez

Introduccin
El algoritmo de Booth es un algoritmo de multiplicacin para dos nmeros binarios con signo mediante el complemento a 2. El algoritmo fue inventado por Andrew Donald Booth en 1950.

Descripcin de funcionamiento
Se define un byte A esta formado por el multiplicando , el siguiente

byte se forma con 0 y se agrega un bit extra que tambin es 0.


Se define un Byte S que esta formado por el complemento a 2 del

multiplicando, el siguiente byte al igual que el caso anterior esta formado por 0 y al final se agrega un bit extra que es 0.
Se define un byte P que esta formado por 0 , el siguiente byte es el

valor del multiplicador y por ultimo se obtiene un bit extra que es 0.

Descripcin de funcionamiento
Consiste en comparar los ltimos dos dgitos del numero P y dependiendo del caso se realizara una suma o no se realizara ninguna accin, luego de evaluar cada caso se debe realizar el corrimiento de un bit hacia la derecha. Manteniendo el bit mas significativo y desechando el menos significativo.

Casos a evaluar
0,0 0,1 1,0 1,1 No realizar ninguna accin. P=P+A. P=P+S. No realizar ninguna accin.

Obtencin del resultado


El algoritmo obtiene el resultado realizando N interacciones (corrimientos hacia la derecha) que es el numero de bits de los factores.

Ejemplo
Se requiere multiplicar 3 por -6 donde 3 es el multiplicando y -6multiplicador, con estos datos podemos definir A, S y P. A: 0000,0011,0000,0000,0 S: 1111,1101,0000,0000,0 P: 0000,0000,1111,101[0,0]

Como los dos ltimos bits de P son 00 no se realiza ninguna operacin tan solo se realiza el primer corrimiento. Pc1: 0000,0000,0111,110[10] Ahora los dos ltimos bits de P son 10 por lo que se debe realizar Pc2=(Pc1+S) y realizando el segundo corrimiento.

Pc1

0 0
1 1

0
1

0
1

0
1

0
1

0
0

0
1

0
0

1
0

1
0

1
0

1
0

1
0

0
0

1
0

0
0

S+
Pc1+s

1 1

Pc2: 1111,1110,1011,111[01]

Los dos ltimos bits ahora de P son 01 por lo cual se debe realizar Pc3=(Pc2+A) y su corrimiento a la derecha.
Pc2

1 1 0 0

1 0

1 0

1 0

1 0

1 1

0 1

1 0

0 0

1 0

1 0

1 0

1 0

1 0

0 0

1 0

A
Pc2+A

0 0

Pc3: 0000,0000,1101,111[10]

Los dos ltimos bits ahora de P son 10 por lo cual se debe realizar Pc4=(Pc3+S) y su corrimiento a la derecha.
Pc3

0 0 1 1

0 1

0 1

0 1

0 1

0 0

0 1

1 0

1 0

0 0

1 0

1 0

1 0

1 0

1 0

0 0

S
Pc3+S

1 1

Pc4: 1111,1110,1110,111[11] Los siguientes 2 ltimos bits de P son 11 por lo que no se debe realizar ninguna operacin, tan solo se debe recorrer un bit a la derecha.
10

Pc5: 1111,1111,0111,011[11] Pc6: 1111,1111,1011,101[11] Pc7: 1111,1111,1101,110[11]

Solo realizar corrimiento. Solo realizar corrimiento. Solo realizar corrimiento.

R=Pc8: [1111,1111,1110,1110(1)] (-18) Despus de 8 iteraciones se obtiene el resultado ya que los productos son de 8 bits. Comprobando: [0000,0000,0001,0010] (+18) [1111,1111,1110,1110] Ca2 de 18= (-18)

11

Você também pode gostar