一、原码一位乘法
1.手算乘法(铺垫)
例子:13*(-11)= -143
被乘数不动,从乘数最低位开始,每一位乘上被乘数,将所得的结果(部分积)记下,再从比最低位高一位的数字开始如上循环,直至乘数的最高位也计算完毕。最终将每一竖列的数值相加即可得出结果。
按照我们小学所学的乘法计算公式应该如上图所示没有问题,我们教科书里说的原码一位乘法其实就是根据这个得出来的。
因为在计算过程中,我们发现被乘数是不动的,而是把乘数的每一位去乘上被乘数的每一位,每次结果都会左移一位。(看下图)
但与普通乘法不同的是原码一位乘法计算过程中出现了进位C、部分积P和乘数寄存器Y。
2.原码一位乘法
还是上面那个例子。
因为13的原码表示为 01101,(-11)的原码表示为 11011。(第一位为符号位)由0和1异或的结果为1,表明结果为负数。故最终结果-10001111=-143与手算乘法结果一致,得以证明原码一位乘法的正确性。
回顾一下,我们可以发现两种方法的计算原理其实是类似的,原码一位乘的计算过程中,每一次相加得出来的部分积在下一次相加之前之所以要右移一位,是因为下一次得出的部分积仍保持位置不动,而之前一次的部分积已经右移了一位,这就相当于手算乘法中的每一次部分积结果都要往左写一位是一样的,(手算乘法导致过程会越写越长,而原码一位乘中的部分积位数是固定的)。
今天的文章原码一位乘法_原码乘法运算步骤「建议收藏」分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/78052.html