La división de dos números binarios de punto fijo en la representación de magnitud con signo se realiza mediante el ciclo de operaciones sucesivas de comparación, cambio y resta.
La división binaria es más fácil que la división decimal porque el dígito del cociente es 0 o 1. Además, no hay necesidad de estimar cuántas veces el dividendo o los residuos parciales se ajustan al divisor.
Implementación de hardware:
La implementación de hardware en la operación de división es idéntica a la requerida para la multiplicación y consta de los siguientes componentes:
- Aquí, los registros B se usan para almacenar el divisor y el dividendo de doble longitud se almacena en los registros A y Q.
- La información para la magnitud relativa se da en E.
- Se utiliza un registro de contador de secuencia (SC) para almacenar el número de bits en el dividendo.
Diagrama de flujo de la división:
- Inicialmente, el dividendo está en A y Q y el divisor está en B.
- El signo del resultado se traslada a Q, para que forme parte del cociente. Luego se establece una constante en el SC para especificar el número de bits en el cociente.
- Como un operando debe guardarse con su signo, un bit de la palabra estará habitado por el signo, y la magnitud estará compuesta por n -1 bits.
- La condición de división-desbordamiento se verifica restando el divisor en B de la mitad de los bits del dividendo almacenado en A. Si A ≥ B, se establece DVF y la operación finaliza antes de tiempo. Si A < B, no se produce una condición de desbordamiento, por lo que el valor del dividendo se restablece sumando B a A.
- La división de las magnitudes comienza con el dividendo en AQ a la izquierda en el bit de orden superior desplazado a E.
(Nota: si se desplaza un bit a E es igual a 1, y sabemos que EA > B ya que EA comprende un 1 seguido por n -1 bits mientras que B comprende sólo n -1 bits). En este caso, B debe restarse de EA y 1 debe insertarse en Q, para el cociente de bits. - Si la operación de desplazamiento a la izquierda (shl) inserta un 0 en E, el divisor se resta sumando su valor de complemento a 2 y el acarreo se mueve a E. Si E = 1, significa que A ≥ B; por lo tanto, Q, se establece en 1. Si E = 0, significa que A < B, y el número original se vuelve a imponer agregando B a A.
- Ahora, este proceso se repite con el registro A que contiene el resto parcial.
Ejemplo de una división binaria usando hardware digital:
Divisor B = 10001, Dividendo A = 0111000000
Resto final: 00110
Cociente final : 11010
Ahora, ¿qué pasa si el divisor es mayor o igual que el dividendo? En este proceso, se produce el desbordamiento de la división. EA almacena el valor de A+B, no hay aplicación de Q aquí, ya que si el divisor es igual al dividendo, entonces Q podría ser 1 y el resto es 0, de lo contrario, en todas las demás condiciones, el valor del cociente 1 y el resto es igual al dividendo.
Publicación traducida automáticamente
Artículo escrito por tarunsinghwap7 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA