Algoritmo De Booth Para División De Binarios
Igual que en el producto, la división es muy fácil de realizar, porque no son posibles en el cociente otras cifras que UNOS y CEROS.
Consideremos el siguiente ejemplo, 42 : 6 = 7, en binario:
Se intenta dividir el dividendo por el divisor, empezando por tomar en ambos el mismo número de cifras (100 entre 110, en el ejemplo). Si no puede dividirse, se intenta la división tomando un dígito más (1001 entre 100).
Si la división es posible, entonces, el divisor sólo podrá estar contenido una vez en el dividendo, es decir, la primera cifra del cociente es un UNO. En ese caso, el resultado de multiplicar el divisor por 1 es el propio divisor. Restamos las cifras del dividendo del divisor y …ver más…
4. Este proceso se repite hasta que se acaban todos los bits del dividendo.
Ejemplo: D = 39 = 1 0 0 1 1 1 d = 6 = 1 1 0
1 0 0 1 1 1 | 1 1 0
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
El algoritmo de la división se basa en prueba y error. Al igual que con los números en decimal, la división binaria busca el número que multiplicado por el divisor nos da el mayor número que se puede restar al dividendo sin que nos dé un valor negativo. En la división binaria los valores a probar son siempre o el uno o el cero, primero probamos con el uno esto nos hará restar al dividendo el divisor, eligiendo los bits adecuados, si la resta es negativa en vez de un uno cambiamos por un cero y bajamos una nueva cifra, si el resultado fue positivo dejamos el valor de la resta al cual se le añade una nueva cifra del dividendo y seguimos con la operación.
Pero a la hora de realizar un circuito digital que realice la división es mejor cambiar un poco el método y en vez de desplazar el divisor a la derecha, desplazaremos el resto parcial a la izquierda (en la práctica es como multiplicarlo por 2) y operamos con el divisor fijo. Veamos como realizaríamos la anterior división con esta variante al método