You are on page 1of 2

Algoritmo de Booth

Josue Ttito April 11, 2011


El algoritmo de Booth es un metodo para resolver multiplicaciones y divisiones con numeros binarios mas rpido y eciente, que la forma comun. El procedimiento se basa en la siguiente tabla: Caso 00 01 10 11 Accion P=P+A P=P-A

En caso el nmero sea negativo este se representara en su complemento a2, que consiste en el complemento a1 y la suma de un bit al nmero (el complemento a1 es tan solo la inversin del nmero es decir si tenemos 0110, tendremos como complemento a1 a 1001). Colocaremos los nmero en tres arrays, por ejemplo, si queremos multiplicar 5x(6) tendremos: A=0000 0101 0000 0000 0 S=1111 1010 0000 0000 0 P=0000 0000 1111 1010 0 Donde A representa el multiplicando, S el complemento a2 del multiplicador, y P llenado de ceros al principio y luego por el complemento a2 del multiplicador. Cada vez que realizemos una iteracion desplazaremos a la derecha el numero, tenemos P=0000 0000 1111 1010 0, como sus dos ltimos cifras tenemos 00, buscamos en la tabla y no debemos realizar accion alguna, asi que solo desplazaremos el numero a la derecha una posicion y tendremos P= 0000 0000 0111 1101 0, en este caso tenemos un 10, y deberiamos sumar P = P + S. El procedimiento lo realizamos hasta que tomemos el ltimo bit es decir 8 iteraciones en el presente caso, asi al ultimo obtendremos el numero: 1111111111100010 = 30 Como se ve el algoritmo se basa en sumas o restas. Division: Al igual que en la multiplicacion en la division se realiza de la misma forma. Ejemplo 39:6 1. Examinar los bits del dividendo de izquierda a derecha hasta encontrar una cadena mayor que el divisor. 2. Se coloca un 1 en el cociente y se procede a restar el divisor al dividendo.

3. Ahora empieza unas acciones ciclicas: al resto se le aade una cifra del n dividendo, si no es mayor que el divisor se aade un 0 al cociente y se baja n otra cifra; asi hasta que el nuevo resto sea mayor que el divisor y entonces se aade un 1 al cociente y se procede a restar el divisor del resto actual. n 4. Este proceso se repite hasta que se acaban todos los bits del dividendo. D = 39 = 1 0 0 1 1 1 d=6=110 100111110 1 1 0 no resta 0 1 1 0 Cociente resto parcial 1 0 0 1 1 1 0 resta resto parcial 0 0 1 1 1 1 1 0 resta resto parcial 0 0 0 0 1 1 1 1 0 no resta Resto 0 0 0 0 1 1 Cociente = 6 = 1 1 0 Resto = 3 = 1 1

You might also like