Red de conocimiento informático - Problemas con los teléfonos móviles - 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...

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)

0

Valor inicial

0000

0101

1

Agregar 0011

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.