2012-08-26 37 views
7

¿Alguien sabe los pasos para dividir enteros binarios sin signo que usan división no restaurable?Algoritmo de división sin restaurar

Es difícil encontrar buenas fuentes en línea.

es decir si A = 101110 y B = 010111

¿Cómo encontramos A divided by B en la división no restaurar? ¿Cómo se ven los registros en cada paso?

Gracias!

+0

Mire el código fuente de [esta página web] (http://www.ecs.umass.edu/ece/koren/arith/simulator/NRDiv/). –

Respuesta

20

(Mi respuesta es un poco tarde-respuesta, pero espero que será útil para futuros visitantes.)

Algoritmo para no restaurar la división se da a continuación la imagen en:

enter image description here

en este problema, dividendo (A) = 101 110, es decir, 46, y Divisor (B) = 010 111, es decir, 23.

inicialización:

Set Register A = Dividend = 000000 
Set Register Q = Dividend = 101110 
(So AQ = 000000 101110 , Q0 = LSB of Q = 0) 
Set M = Divisor = 010111, M' = 2's complement of M = 101001 
Set Count = 6, since 6 digits operation is being done here. 

Después de esto vamos a empezar el algoritmo, que he mostrado en el cuadro siguiente:

En la tabla, SHL(AQ) denotes shift left AQ by one position leaving Q0 blank.

Del mismo modo, un símbolo cuadrado en la posición Q0 designan, it is to be calculated later

enter image description here

la esperanza de todos los pasos están claros de la mesa !!!

-1

1) Ajustar el valor del registro A como 0 (N bits)
2) Establecer el valor de registro de M como Divisor (N bits)
3) Ajustar el valor del registro Q como dividendo (N bits)
4) Concatenar A con Q {A, Q}
5) Repita la siguiente "n" cantidad de veces (aquí n es un número de bits en el divisor): Si el bit de signo de A es igual a 0, cambie A y Q combinado, dejado por 1 bit, y restar M de A. Más cambios A y Q combinados, izquierda por 1 bit y agregar M a A Ahora, si el bit de signo de A es igual a 0, entonces establece Q [0] como 1 , si no, configure Q [0] como 0
6) Finalmente, si el bit de signo de A es igual a 1, entonces agregue M a A.
7) Asigne A como resto y Q como cociente.