用原码一位乘法计算X=0.1011,Y=-0.1101的乘积。 30
【X】原=0.1101 【Y】原=0.1011
部分积 乘数单元
00.0000 1011
+00.1101
00.1101
->00.0110 1101
+00.1101
01.0011
->00.1001 1110
+ 00.0000
00.1001
->00.0100 1111
+00.1101
01.0001
->00.1000 1111
因为X和Y异号,异号相乘为负所以X·Y=1.10001111
扩展资料
在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号按异或运而乘积的数值部分则是两个正数相乘之积。设n位被乘数和乘数用定点小数表示:
被乘数 [x]原 = xf .x0 x1 x2 „ xn
乘数 [y]原 = yf .y0 y1 y2 „ yn 则
乘积 [ z ]原 = ( xf⊕yf ) . (0. x0 x1 x2 „xn)(0 . y1 y2 „yn)
式中,xf为被乘数符号,yf为乘数符号。
乘积符号的运算法则是:同号相乘为正,异号相乘为负。由于被乘数和乘数和符号组合只有(xf yf = 00,01,10,11),因此积的符号可按“异或”(按位加)运算得到。
数值部分的运算方法与普通的十进制小数乘法相类似,不过对于用二进制表达的数来说,其
更为简单一些:从乘法y的最低位开始,若这一位为“1”,则将被乘数x写下;若这一位为“下全0。然后再对乘数y的高一位进行的乘法运算,其规则同上,不过这一位乘数的权与最低位不一样,因此被乘数x要左移一位。依次类推,直到乘数各位乘完为止,最后将它们统统加起来最后乘积z 。
【X】原=0.1101 【Y】原=0.1011
部分积 乘数单元
00.0000 1011
+00.1101
00.1101
->00.0110 1101
+00.1101
01.0011
->00.1001 1110
+ 00.0000
00.1001
->00.0100 1111
+00.1101
01.0001
->00.1000 1111
因为X和Y异号,异号相乘为负所以X·Y=1.10001111
扩展资料:
原码是有符号数的最简单的编码方式,便于输入输出,但作为代码加减运算时较为复杂。
一个字长为n的机器数能表示不同的数字的个数是固定的2^n个,n=8时2^n=256;用来表示有符号数,数的范围就是-(2^(n-1)-1)~+2^(n-1)-1,n=8是这个范围就是-127~+127。
但是在不需要考虑数的正负时,就不需要用一位来表示符号位,n位机器数全部用来表示是数值,这时表示数的范围就是0~2^n-1,n=8时这个范围就是0~255.没有符号位的数,称为无符号数。
参考资料来源:百度百科-原码
部分积 乘数单元
00.0000 1011
+00.1101
00.1101
->00.0110 1101
+00.1101
01.0011
->00.1001 1110
+ 00.0000
00.1001
->00.0100 1111
+00.1101
01.0001
->00.1000 1111
因为X和Y异号,异号相乘为负所以
X·Y=1.10001111
【Y】原=0.1011
部分积
乘数单元
00.0000
1011
+00.1101
00.1101
->00.0110
1101
+00.1101
01.0011
->00.1001
1110
+
00.0000
00.1001
->00.0100
1111
+00.1101
01.0001
->00.1000
1111
因为X和Y异号,异号相乘为负所以X·Y=1.10001111
扩展资料
在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号按异或运而乘积的数值部分则是两个正数相乘之积。设n位被乘数和乘数用定点小数表示:
被乘数
[x]原
=
xf
.x0
x1
x2
„
xn
乘数
[y]原
=
yf
.y0
y1
y2
„
yn
则
乘积
[
z
]原
=
(
xf⊕yf
)
.
(0.
x0
x1
x2
„xn)(0
.
y1
y2
„yn)
式中,xf为被乘数符号,yf为乘数符号。
乘积符号的运算法则是:同号相乘为正,异号相乘为负。由于被乘数和乘数和符号组合只有(xf
yf
=
00,01,10,11),因此积的符号可按“异或”(按位加)运算得到。
数值部分的运算方法与普通的十进制小数乘法相类似,不过对于用二进制表达的数来说,其
更为简单一些:从乘法y的最低位开始,若这一位为“1”,则将被乘数x写下;若这一位为“下全0。然后再对乘数y的高一位进行的乘法运算,其规则同上,不过这一位乘数的权与最低位不一样,因此被乘数x要左移一位。依次类推,直到乘数各位乘完为止,最后将它们统统加起来最后乘积z
。
0.1101
------------
0.
+ 0.
+ 0.
+ 0.01011
------------------
0.
-0.1011 * 0.1101 = 0.