Conozco el funcionamiento del algoritmo de los stands.
Supongamos que tenemos un multiplicando M = 01011
y multiplicador Q = 01110
Podemos escribir Q como (2 ^ 4 - 2 ^ 1).
La multiplicación se reduce a 2 ^ 4 (M) + 2 (-M)
Ahora las reglas del algoritmo de las cabinas son: -
Si Q = 0 y Q (-1) = 0, entonces haga un cambio aritmético a la derecha.
Si Q = 1 y Q (-1) = 0, entonces haga A-M y la aritmética a la derecha.
Si Q = 0 y Q (-1) = 1, entonces haga A + M y la aritmética a la derecha.
Si Q = 1 y Q (-1) = 1, entonces haga un cambio aritmético a la derecha.
Aquí se inicializa A a 00000 y Q (-1) se inicializa a 0.
Si vemos el algoritmo, en cada paso hacemos el cambio correcto. Pero según el cálculo que se muestra arriba, que es 2 ^ 4 (M) + 2 (-M), multiplicamos por 16 y 2, lo que requiere desplazamiento a la izquierda.
Entonces, ¿cómo funciona el algoritmo de las cabinas con el cambio a la derecha?