algoritmo
El algoritmo de Booth es un procedimiento algorítmico para realizar la multiplicación de dos números con signo, expresados en base binaria en notación complemento a dos.Debemos saber que un número binario está formado por bits de ceros y unos, y que se puede traducir a decimal fácilmente de la siguiente forma:Complemento a1
Para obtener el complemento a uno del numero enbinario solo consta en cambiar sus ceros por unos, y sus unos por ceros (complementar): (010010 -> ca1:101101)
Complemento a2
El complemento a dos de un número binario es el resultado de sumar 1 alcomplemento a uno de dicho número binario (NOTA: En el Ca1 sólo se complementa si el número es negativo): mi numero en decimal es 86
Realizar una multiplicación con el algoritmo de Booth, resultamucho más sencillo de implementar. Partimos del ejemplo de la multiplicación 6•2=12:
1º Obtengo mis números (multiplicando y multiplicador) en binario con longitud de 8 bits
2º asigno A=multiplicando, S= Complemento a2 de A, P= 8 bits en 0. Agrego 7 bits extras a la derecha de A y S, en P agrego el valor de multiplicador con longitud de 8 bits y un bit extra con valor 0. Como se indica acontinuación:
Como se puede ver en la imagen superior, partiendo de los números binarios de la multiplicación 6•2 (multiplicando y multiplicador) creamos tres nuevos números binarios del doble de tamaño(16 en el ejemplo): A, S y P.
3o Partiendo del número P (producto) comenzamos a comparar los últimos 2 bits de la derecha, siguiendo los casos base del recuadro:
0 0 No hacer nada
0 1 P = P + A1 0 P = P + S
1 1 No hacer nada
Se realizará esta comparación 8 veces en este ejemplo (número de bits de los operandos) y al final de cada comparación, realizamos un desplazamiento de un bithacia la derecha, manteniendo el último bit de la izquierda, y descartando el último bit del lado contrario. Si hacemos una traza paso a paso nos quedarían los siguientes resultados:
Finalmente...
Regístrate para leer el documento completo.