二进制乘法运算
2020-11-13 本文已影响0人
Wovw
定点数一位乘法:
1.定点原码一位乘法
两个原码数相乘,其乘积的符号为相乘两数的异或值(同号为+,异号为-),数值则为两数绝对值之积。
(1)人工计算
![](https://img.haomeiwen.com/i18135121/a56aec965e964ab9.jpg)
在机器内多个数据一般不能同时相加,一次加法操作只能求出两数之和,因此每求得一个相加数,就与上次部分积相加。
人工计算时,相加数逐次向左偏移一位,最后的乘积位数是乘数与被乘数位数的和。
(2)计算机内(上题)
![](https://img.haomeiwen.com/i18135121/e0f435b3ec0d1716.jpg)
用乘数的存储单元存放乘积低位,用一个新单元存储高位,以节省一单元。
2.定点补码一位乘法
例:设X = -0.1101,Y = 0.1011,即:[X]补=11.0011,[Y]补=0.1011,求[X·Y]补。
解:计算过程如下:
![](https://img.haomeiwen.com/i18135121/f28bb8e961152fe0.jpg)
[X·Y]补=1.01110001 X·Y=-0.10001111
例:设X = -0.1101,Y = -0.1011,即:[X]补=11.0011,[Y]补=11.0101,求[X·Y]补。
解:计算过程如下:
![](https://img.haomeiwen.com/i18135121/e6b0c0ab5b790697.jpg)
[X·Y]补=0.10001111
3.阵列乘法器(类似人工计算)
![](https://img.haomeiwen.com/i18135121/936e9e1c83391af5.jpg)
4.布斯公式(Booth)
运算规则:
![](https://img.haomeiwen.com/i18135121/e033c70950ad17b7.jpg)
例:设X = -0.1101,Y = 0.1011,即[X]补=11.0011,[Y]补=0.1011,求[X·Y]补。
![](https://img.haomeiwen.com/i18135121/39e5ced9ca8a8de8.jpg)