题目
已知x = 0.1011, y= -0.1010,用原码[1]一位乘法求x Xy的值,要求写出计 算机中的运算步骤。
已知x = 0.1011, y= -0.1010,用原码[1]一位乘法求x Xy的值,要求写出计 算机中的运算步骤。
题目解答
答案
解:[x]原=0.1011, [y]原=1.1010
乘积的符号位Zs= 0® 1= 1,尾数绝对值相除。说明
开始P0= 0
y4=0, +0
(R0, R1)右移一位,得P1
y3=1, +x
(R0, R1)右移一位,得P2
y2=0, +0
(R0, R1)右移一位,得P3
y1=1, +x
(R0, R1)右移一位,得P4
所以 | x X y I = P4= 0.01101110
[x X y]原=1.01101110 故 xX y= -0.01101110
解析
步骤 1:确定原码
首先,确定x和y的原码表示。x = 0.1011,y = -0.1010。x的原码为0.1011,y的原码为1.1010。
步骤 2:初始化
初始化寄存器R0和R1,R0用于存放乘积的尾数部分,R1用于存放乘积的符号位。R0 = 0.0000,R1 = 0。
步骤 3:乘法运算
进行原码一位乘法运算,根据y的每一位进行加法和移位操作。
- y的最低位y4 = 0,不加x,右移一位,R0 = 0.0000,R1 = 0。
- y的次低位y3 = 1,加x,右移一位,R0 = 0.1011,R1 = 0。
- y的次高位y2 = 0,不加x,右移一位,R0 = 0.0101,R1 = 0。
- y的最高位y1 = 1,加x,右移一位,R0 = 0.1101,R1 = 0。
步骤 4:确定乘积的符号位
乘积的符号位Zs = 0 ⊕ 1 = 1,表示乘积为负数。
步骤 5:确定乘积的尾数
乘积的尾数绝对值为R0 = 0.01101110。
步骤 6:确定乘积的原码
乘积的原码为[x × y]原 = 1.01101110。
首先,确定x和y的原码表示。x = 0.1011,y = -0.1010。x的原码为0.1011,y的原码为1.1010。
步骤 2:初始化
初始化寄存器R0和R1,R0用于存放乘积的尾数部分,R1用于存放乘积的符号位。R0 = 0.0000,R1 = 0。
步骤 3:乘法运算
进行原码一位乘法运算,根据y的每一位进行加法和移位操作。
- y的最低位y4 = 0,不加x,右移一位,R0 = 0.0000,R1 = 0。
- y的次低位y3 = 1,加x,右移一位,R0 = 0.1011,R1 = 0。
- y的次高位y2 = 0,不加x,右移一位,R0 = 0.0101,R1 = 0。
- y的最高位y1 = 1,加x,右移一位,R0 = 0.1101,R1 = 0。
步骤 4:确定乘积的符号位
乘积的符号位Zs = 0 ⊕ 1 = 1,表示乘积为负数。
步骤 5:确定乘积的尾数
乘积的尾数绝对值为R0 = 0.01101110。
步骤 6:确定乘积的原码
乘积的原码为[x × y]原 = 1.01101110。