2016 - 2024

感恩一路有你

负数已知补码求原码 乘法运算的符号法则?

浏览量:2168 时间:2021-03-11 20:00:07 作者:admin

乘法运算的符号法则?

在定点计算机中,原码表示的两个数相乘的运算规则是:乘积的符号位由两个数的“异或”运算,而乘积的数字部分是两个正数相乘的乘积。设n位被乘数和乘法器用定点小数表示:

被乘数[x]原=XF。X0x1 x2 xn

乘数[y]原=YF。Y0 y1yyn,然后

乘积[Z]原=(XF⊕YF)。(0. X0x1 x2 xn)(0。Y1y2yn)

其中XF是乘法器的符号,YF是乘法器的符号。

乘积符号的运算法则是:同号相乘为正,异号相乘为负。由于被乘数、乘法器和符号组合是唯一的(XF,YF=00,01,10,11),所以乘积的符号可以通过异或运算得到。

数字部分的运算方法类似于普通的十进制乘法,但对于二进制表示的数字,其

更简单:从乘法y的最低位开始,如果该位为“1”,则写下被乘数X;如果该位为“全0”。然后,乘法器y的高位的乘法运算规则与上述相同,但是该位乘法器的权重不同于最低位的权重,因此乘法器x应该向左移动一位。以此类推,直到乘法器全部相乘,最后将它们全部相加,最后积Z。

定点数运算方法及溢出判别方法?

定点加减的溢出判断可以由单符号位溢出检测方法和双符号进位溢出检测方法确定。目前,补码广泛应用于定点的加减运算。

1. 加减运算法:根据补码的设计规则,任意一个绝对值相同的负数和正数,负数是正数加1的反码,所以如果把绝对值相同的负数和正数相加,正好好的结果都是0(最高的位被带入,并被丢弃)。通过与下补表的比较,我们可以发现,基于这种设计,当两个数相加时,符号位也可以直接参与运算,运算结果也包含符号位。

2. 溢出判断:(1)溢出只有正数和正数两种,结果为负数,发生溢出。负数和负数相加,结果为正数,并发生溢出。为什么正数和负数的相加不溢出?因为正数和负数的最大值的绝对值是相同的,所以正数和负数相加的结果必须在绝对值之内。减法只是取加数的补码并相加,所以知道加法的溢出就足够了。(2) 进位溢出法(单符号位)可以从补码表中看出:无溢出:将绝对值较大的负数和绝对值较小的正数相加,最高有效位(即最高值位)不会溢出,因此符号位没有进位。当绝对值较小的负数与绝对值较大的正数相加时,最高有效位溢出,符号位从1变为10(0)进位。溢出情况:上面已经知道:正数和正数相加,结果是负数,溢出。在这种情况下,最高有效位带进位,而符号位从0变为1,不带进位。负数和负数相加,结果为正数,并发生溢出。在这种情况下,最高有效位不进位,符号位从1变为10(0)。因此,当最高有效位的进位与符号位的进位不同时,就会发生溢出。(3) 双符号位进位溢出检测方法使用双符号位(00,11)进行加法,我们已经知道:所以当最高有效位和符号位的进位不同时,就表示发生了溢出。如果符号位被携带,如果它没有被携带,最高有效位将是11=10(110)。这是负溢出。如果符号位未进位,则最高有效位的进位变为00 1=01。这是一个正溢出。

负数已知补码求原码 定点计算 定点源码一位乘法

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。