计组之数据运算:6、原码乘法运算
生活随笔
收集整理的这篇文章主要介绍了
计组之数据运算:6、原码乘法运算
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
原码乘法运算
- 思维导图
- 原码一位乘法
- 原理实现:(类比十进制)
- 机器实现:
- 寄存器步骤演示:
- 手算实现
- 补码一位乘法
- 硬件区别:
- 手算实现
思维导图
原码一位乘法
先来看一下十进制乘法的本质原理:
原理实现:(类比十进制)
机器实现:
1、取乘数、被乘数原码的绝对值
2、然后通过先相加在移位的操作计算数值(解决多个位积问题)
3、用逻辑异或计算符号位(解决符号位问题)
PS:还有一个问题是结果的位数扩大保存问题:
Q:用ACC保存乘积高位,MQ保存乘积低位,如下寄存器演示中所示
寄存器步骤演示:
PS:解释一下:就是相乘、赋值、移位循环往复的过程;
a、首先用被乘数与乘数最低位相乘,结果加到ACC中,然后将ACC、MQ向右移位
b、然后在用被乘数与乘数最低位(此时由于右移最低位其实是乘数的倒数第二位)相乘,结果加到ACC中,然后将ACC、MQ向右移位
c、结束标志:乘数有几位数值位(不包含符号位),就右移几次
1、初始化
2、乘数最低位参与运算并将值加到ACC并逻辑右移
3、右移后的最低位(乘数的倒数第二位)参与运算并逻辑右移
4、最终结果
手算实现
补码一位乘法
对比一下:
硬件区别:
手算实现
总结
以上是生活随笔为你收集整理的计组之数据运算:6、原码乘法运算的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: LeetCode:面试题40. 最小的k
- 下一篇: 计算机网络之传输层:3、TCP协议