源码一位乘什么时候用双符号(在源码两位乘中,符号位单独处理)
本文目录一览:
原码一位乘,有的书上部分积取双符号位,以唐书为准?
我源码一位乘什么时候用双符号的理解是,原码一位乘是用源码一位乘什么时候用双符号的绝对值,进行逻辑右移,不会影响到符号位(符号位单独提出来进行异或计算),所以只需要一位符号位。至于之后的浮点数范围应该是默认的原码吧(或者说是二进制真值源码一位乘什么时候用双符号?),如果考虑补码题目会特别给出的吧。
计算机总成原理数据的运算方法中,什么时候用一位符号位?什么时候用两位符号位?
1000 0101(-5原码) 到1111 1010(反码) 1111 1011(-5补码)
1000 0111(-7原码)到1111 1000 (反码)1111 1001(-7补码)
0000 1011(11原码)到1111 0100(反码) 1111 0101(11补码)
0000 1111(15原码)到1111 0000(反码) 1111 0001(15补码)
1010 0011(35原码)到1101 1100(反码) 1101 1101(-35补码)
1101 0000(-80原码)到1010 1111(反码) 1101 0001(-80补码)
1110 0100(-100原码)到1001 1011(反码) 1001 1100(-100补码)
1111 1011(-123原码)到1000 0100(反码)1000 0101(-123补码)
原码 正数的原码不变 负数的原码的最高位为1
反码 符号位不变各位取反
补码 在反码的基础上加1
什么是原码一位乘法?
原码一位乘法:
在定点计算机中,两个原码表示的数相乘的运算规则是:乘积的符号位由两数的符号按异或运而乘积的数值部分则是两个正数相乘之积。设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
。
谁能给我讲一下原码一位乘法?
1.手算乘法(铺垫)
例子源码一位乘什么时候用双符号:13*(-11)= -143
在这里插入图片描述
被乘数不动
源码一位乘什么时候用双符号,从乘数最低位开始源码一位乘什么时候用双符号,每一位乘上被乘数源码一位乘什么时候用双符号,将所得源码一位乘什么时候用双符号的结果(部分积)记下,再从比最低位高一位的数字开始如上循环,直至乘数的最高位也计算完毕。最终将每一竖列的数值相加即可得出结果。
按照我们小学所学的乘法计算公式应该如上图所示没有问题,我们教科书里说的原码一位乘法其实就是根据这个得出来的。
因为在计算过程中,我们发现被乘数是不动的,而是把乘数的每一位去乘上被乘数的每一位,每次结果都会左移一位。(看下图)
在这里插入图片描述
但与普通乘法不同的是原码一位乘法计算过程中出现了进位C、部分积P和乘数寄存器Y。
2.原码一位乘法
还是上面那个例子。
在这里插入图片描述