已知x,y 是二进制数,x=11011,y= —11111 完成下列计算: 1)用补码阵列乘法器计算x × y 2)用原码阵列除法器计算x ÷ y
时间: 2024-06-01 07:12:35 浏览: 223
这是一些关于二进制的计算
1)用补码阵列乘法器计算x × y:
首先将y的补码计算出来:
1. 取反y的绝对值:11111(绝对值为31,用5位二进制数表示,最高位为符号位)
2. 加1:100000
3. 得到y的补码:100000
然后进行补码阵列乘法器的计算:
1 1 0 1 1 0 0 0 (x)
× 1 0 0 0 0 0 0 0 (y补)
------------------
1 1 0 1 1 0 0 0
1 1 0 1 1 0 0 0
------------------
1 1 1 0 0 1 0 0 0 0
------------------
因为结果最高位为1,表示为负数,需要将结果转换回原码。步骤如下:
1. 取反得到补码:000111001000
2. 加1得到原码:000111001001
所以,x × y 的结果为 -000111001001。
2)用原码阵列除法器计算x ÷ y:
首先将x和y转换为十进制数:
x = 1 × 2^4 + 1 × 2^3 + 0 × 2^2 + 1 × 2^1 + 1 × 2^0 = 27
y = -1 × 2^4 + 1 × 2^3 + 1 × 2^2 + 1 × 2^1 + 1 × 2^0 = -9
然后进行原码阵列除法器的计算:
1 1 0 1 1 (被除数x)
÷ —1 1 1 1 1 1 (除数y)
1 0 1 1 0 0 (商q)
1 0 0 0 0 0 (y的绝对值)
------------
1 1 1 0 0 0 (x - y的绝对值)
1 1 1 1 1 1 (y的补码)
------------
0 0 0 1 1 1 (余数r)
因为余数r为正数,表示x ÷ y 的结果为正数,即商为q = 101100,余数为r = 111。所以,x ÷ y 的结果为 101100,余数为 111。
阅读全文