手算阵列乘法器
平时我们计算乘法的时候是手算的
平时手算过程中我们是进行平行移位,可是在计算机里平行移位,会带来更大的开销,如下图我们可以看到,为此聪明的人,设计了斜移位的计算机
值得注意的是最后一行用的是平行移位
补码阵列乘法器
下图给出补码阵列乘法器的图解
就是将两个数的绝对值进行乘法
最后再进行求补运算
在电路中的实现,如图所示
我们给出示例
注意
- 符号位要单独出来另算
- 补码的符号位要写出来,最好用逗号隔开以免头眼昏花
- 一定要写算前求补级输出为,同时乘法运算的时候是绝对值做的运算,而不是两个数的补码做的运算!!!为什么要这样写?因为在计算机里,是先有的补码,再做的运算
- 最后的结果要补足位数数值是4x4所以最后是8位,补符号位
- 然后算后求补级可以看到是00111101
- 最后再在前面补上符号
直接补码阵列乘法器
上一章有写关于这个的乘法,当时是自学的,所以不够完美
这里我们直接看例题
- 首先我们还是将数变成了补码
- 然后是对补码做了乘法
- 最高位取负权
- 然后分别相乘相加
- 注意的是(1)+(1)=(0)
- 最后的结果5x5,结果一定是10位,不够的补0
- 从右往左数到第一位(1),左边的数如图是00(1),这个数的意思是00(1)=-1
- 即对1进行取反,负权提高最高位,-1的补码就是111,所以为(1)11
如图,11(1)(1)=1x2的3次方+1x2的2次方+(-1)x2的1次方+(-1)x2的0次方=9
9的补码1001,进行求补0001
00(1)(1)=(-3)
(-3)的补码为1101