Algoritmo de división en representación de magnitud con signo

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *