Un algoritmo de división proporciona un cociente y un resto cuando dividimos dos números. Generalmente son de dos tipos : algoritmo lento y algoritmo rápido . El algoritmo de división lenta está restaurando, sin restaurar, restaurando sin rendimiento, algoritmo SRT y bajo rápido viene Newton-Raphson y Goldschmidt.
En este artículo, se realizará la restauración del algoritmo para enteros sin signo. El plazo de restauración se debe al hecho de que el valor del registro A se restaura después de cada iteración.
Aquí, el registro Q contiene el cociente y el registro A contiene el resto. Aquí, el dividendo de n bits se carga en Q y el divisor se carga en M. El valor del registro se mantiene inicialmente en 0 y este es el registro cuyo valor se restaura durante la iteración, por lo que se denomina restauración.
Escojamos el paso involucrado:
- Paso-1: Primero se inicializan los registros con los valores correspondientes (Q = Dividendo, M = Divisor, A = 0, n = número de bits en dividendo)
- Paso 2: Luego, el contenido del registro A y Q se desplaza a la izquierda como si fueran una sola unidad
- Paso 3: Luego, el contenido del registro M se resta de A y el resultado se almacena en A
- Paso 4: Luego, el bit más significativo de A se verifica si es 0, el bit menos significativo de Q se establece en 1; de lo contrario, si es 1, el bit menos significativo de Q se establece en 0 y el valor del registro A se restaura es decir, el valor de A antes de la resta con M
- Paso 5: El valor del contador n se reduce
- Paso 6: si el valor de n se convierte en cero, salimos del ciclo; de lo contrario, repetimos desde el paso 2
- Paso 7: Finalmente, el registro Q contiene el cociente y A contiene el resto
Ejemplos:
Perform Division Restoring Algorithm Dividend = 11 Divisor = 3
norte | METRO | A | q | Operación |
---|---|---|---|---|
4 | 00011 | 00000 | 1011 | inicializar |
00011 | 00001 | 011_ | desplazar a la izquierda AQ | |
00011 | 11110 | 011_ | A=AM | |
00011 | 00001 | 0110 | Q[0]=0 Y restaurar A | |
3 | 00011 | 00010 | 110_ | desplazar a la izquierda AQ |
00011 | 11111 | 110_ | A=AM | |
00011 | 00010 | 1100 | Q[0]=0 | |
2 | 00011 | 00101 | 100_ | desplazar a la izquierda AQ |
00011 | 00010 | 100_ | A=AM | |
00011 | 00010 | 1001 | Q[0]=1 | |
1 | 00011 | 00101 | 001_ | desplazar a la izquierda AQ |
00011 | 00010 | 001_ | A=AM | |
00011 | 00010 | 0011 | Q[0]=1 |
Recuerde restaurar el valor de Un bit más significativo de A es 1. Como ese registro Q contiene el cociente, es decir, 3 y el registro A contienen el resto 2.