Professional Documents
Culture Documents
P=R*Q
} Ntese que P y R deben ser de largo 2N, y el sumador tambin debe ser de largo 2N. En este algoritmo el nmero de sumas es proporcional a Q.
Puede reducirse el nmero de veces que se repite la operacin, notando que, en el sistema binario, slo debe efectuarse la suma del multiplicando si la cifra correspondiente del multiplicador es uno; ya que la multiplicacin por cero no cambia el producto parcial.
La deteccin si debe realizarse o no la suma del multiplicando R, puede lograrse observando solamente la cifra menos significativa de Q, siempre que despus de realizada la suma, se divida (en forma entera) el valor de Q. Esto se logra con un corrimiento hacia la derecha de Q, en una posicin. Adems el multiplicando debe desplazarse en una posicin hacia la izquierda.
El Algoritmo a, descrito usando ecuaciones de diferencias : S0 = 0 + R q0 20 S1 = S0 + R q1 21 S2 = S1 + R q2 22 S3 = S2 + R q3 23 ....... Sn-1 = Sn-2 + R qn-1 2n-1 Sn = Sn-1 + R qn 2n La cifra de Q, en la etapa i-sima, qi slo puede ser cero o uno. Si es uno, el trmino asociado se suma.
, r0 = R , r1 = 2 r0 , r2 = 2 r1 , r3 = 2 r2
Entonces en la etapa i-sima, si qi es 1, se suma al producto parcial anterior Si-1, el multiplicador anterior multiplicado por dos (que es ri).
Algoritmos ms eficientes
Se desea desarrollar ahora un algoritmo ms eficiente, que emplee menos recursos electrnicos que el anterior: Estudiemos la multiplicacin binaria de (+26)*(+13) = +338
Se observa que en cada paso slo se suman 6 cifras (bits), la cifra menos significativa de la suma acumulada no afecta las sumas posteriores y puede decirse que es una cifra del producto final. Tampoco es necesario correr el multiplicando a la izquierda, si en lugar de esto se desplaza la suma (el producto parcial) hacia la derecha. De esta forma una de las entradas del sumador quedar fija con el valor del multiplicando (R). Se requiere un sumador de n+1 bits solamente.
P = R*Q
Entonces al efectuar el corrimiento hacia la derecha de P, la posicin ms significativa, que queda vacante, debe llenarse con la reserva de salida. Entonces el algoritmo para multiplicar enteros sin signo, debe efectuar un corrimiento lgico hacia la derecha de los registros concatenados Co, P y Q.
Algoritmos de Divisin
Algunas definiciones:
El dividendo es de largo 2N; el divisor, cuociente y resto de ancho N. Se requieren 2N para expresar el resultado de una divisin. Algoritmo 1: P de largo 2N, Q y R de largo N. Parmetros: el dividendo en P, divisor en R. Resultados: el cuociente en Q, resto en P. while (P >= R) { P-=R; Q++; }