x=0.1011 y=-0.1001 Calcula el resultado de X*Y usando multiplicación complementaria de un dígito y multiplicación complementaria de dos dígitos...
No hay diferencia, la multiplicación de dos dígitos es más complicada. No sé la multiplicación exacta de dos dígitos. No es necesario insistir en esta cuestión. Si quieres tomar el examen, normalmente tomas las subclases de almacenamiento e instrucción, y si quieres tomar la multiplicación de un solo dígito, te enviaré un ejemplo. En la multiplicación de un bit, el bit de signo y el bit de valor se calculan por separado. La parte numérica del resultado es el producto de los dígitos numéricos del multiplicador y los dígitos numéricos del multiplicador, y el signo es la diferencia entre los dígitos con signo del multiplicador y los dígitos con signo del multiplicador. En el código original, cada ciclo de multiplicación de un solo dígito incluye sumar el valor absoluto del multiplicando al bit 1 más bajo y desplazarlo un bit hacia la derecha, agregar el bit 0 más bajo al bit 0 más bajo y desplazarlo hacia la derecha. . ¿Cuántas veces se multiplica?
"Respuesta":
x=00011, y=10101, |x|=0011,
|y|=0101, el bit de signo del el resultado es 1
0=1
Bucle
Pasos
Producto (R0
R1) p>
0
Valor inicial
0000
0101
1
Agregar 0011 p>
0011
0101
Desplazamiento a la derecha 1 bit
0001
1010
2
Agregar 0
. 0001
1010
Desplazamiento a la derecha 1 bit
0000
1101
3
Agregar 0011
0011
1101
Desplazamiento a la derecha 1 posición Desplazamiento a la derecha 1 posición
0001
1110
4
Agregar 0
0001
1110
Mover 1 posición a la derecha
0000
1111
Por lo tanto, el resultado es 00001111 código complementario. Si convierte el código original al código complementario, solo necesita calcular los números.