源码一位乘法存在的两个问题(源码两位乘法例题)
本文目录一览:
- 1、什么是原码一位乘法?
- 2、计算机组成原理原码一位乘法的问题,求解答,在线等!!
- 3、给我说一下原码一位乘的运算规则
- 4、已知X=--0.1011,Y=-0.1001采用原码一位乘法计算X*Y
- 5、用原码一位乘法计算X=0.1011,Y=-0.1101的乘积。
- 6、谁能给我讲一下原码一位乘法?
什么是原码一位乘法?
原码一位乘法:
在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号按异或运而乘积的数值部分则是两个正数相乘之积。设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
。
计算机组成原理原码一位乘法的问题,求解答,在线等!!
二进制真值源码一位乘法存在的两个问题的2倍就是末位加零源码一位乘法存在的两个问题,比如1101的2倍是11010
跟10进制同一道理,78的10倍是780
n进制的n倍就是每一位都乘以n,即末位加零
给我说一下原码一位乘的运算规则
乘积的符号位由两数的符号按异或运算得到,而乘积的数值部分则是两个正数相乘之积
已知X=--0.1011,Y=-0.1001采用原码一位乘法计算X*Y
x的原码为1.1011,y的为1.1001
两者先是符号位相异或得0;再用无符号的两个二进制数相乘,这个相乘和十进制数类似。
原码一位乘法中,符号位与数值位是分开进行计算的。运算结果的数值部分是乘数与被乘数数值位的乘积,符号是乘数与被乘数符号位的异或。原码一位乘法的每一次循环的操作是最低位为1,加被乘数的绝对值后右移1位;最低位为0,加0后右移1位。几位乘法就循环几次。
编码方式
原码是有符号数的最简单的编码方式,便于输入输出,但作为代码加减运算时较为复杂。一个字长为n的机器数能表示不同的数字的个数是固定的2^n个,n=8时2^n=256;用来表示有符号数,数的范围就是 -2^(n-1)-1 ~ 2^(n-1)-1,n=8时,这个范围就是 -127 ~ +127。
以上内容参考:百度百科-原码
用原码一位乘法计算X=0.1011,Y=-0.1101的乘积。
因为X和Y异号,异号相乘为负所以X·Y=1.10001111
【X】原=0.1101
【Y】原=0.1011
部分积乘数单元00.00001011+00.110100.1101
-00.0110
1101+00.1101
01.0011-00.10011110+00.000000.1001
-00.01001111+00.110101.0001
-00.10001111
因为X和Y异号,异号相乘为负所以X·Y=1.10001111
运算定律
整数的乘法运算满足:交换律,结合律, 分配律,消去律。
随着数学的发展, 运算的对象从整数发展为更一般群。
群中的乘法运算不再要求满足交换律。 最有名的非交换例子,就是哈密尔顿发现的四元数群。 但是结合律仍然满足。
1.乘法交换律。注:字母与字母相乘,乘号不用写,或者可以写成·。
2.乘法结合律。
3.乘法分配律。
谁能给我讲一下原码一位乘法?
1.手算乘法(铺垫)
例子:13*(-11)= -143
在这里插入图片描述
被乘数不动
源码一位乘法存在的两个问题,从乘数最低位开始,每一位乘上被乘数,将所得源码一位乘法存在的两个问题的结果(部分积)记下,再从比最低位高一位的数字开始如上循环,直至乘数的最高位也计算完毕。最终将每一竖列的数值相加即可得出结果。
按照源码一位乘法存在的两个问题我们小学所学的乘法计算公式应该如上图所示没有问题,我们教科书里说的原码一位乘法其实就是根据这个得出来的。
因为在计算过程中,我们发现被乘数是不动的,而是把乘数的每一位去乘上被乘数的每一位,每次结果都会左移一位。(看下图)
在这里插入图片描述
但与普通乘法不同的是原码一位乘法计算过程中出现了进位C、部分积P和乘数寄存器Y。
2.原码一位乘法
还是上面那个例子。
在这里插入图片描述