Issuu on Google+

我觉得乘法器相对减法器来说简单一点,所以先写乘法器的教程 首先呢,你要会加法,包括加法器 其次呢,你要会竖式乘法运算,假如我们要算 12*13,写成竖式就是 12 x 13 -----------36 + 120 -----------156 至于那个红色的 0,其实写不写出来都没问题,但是为了教学,我还是写了出来。其实竖式 就是把 12*13 拆成 12*10+12*3,二进制也是如此, 1100 x 1101 ---------------1100 0000 1100 +1100 ---------------10011100 同样是 12*13,但是你不应该拆成 12*10+12*3,取而代之的应该是 12*1+12*4+12*8,原因 呢我接下来会解释,可能会比较复杂,选择性学习

1 2 3 4(十进制) 1234=1*1000+2*100+3*10+4*1 千位(1*1000) 百位(2*100) 十位(3*10) 个位(4*1) 每位之间相差了 10 倍,当你要把 2 变成 20 时,你要将其乘以 10,我们也可以认为是把 2 向左移了一位(0002 → 0020),我们把 10 称为十进制的权值 二进制的权值是 2,也就是说二进制数每位之间相差了 2 倍,假如有个二进制数是 1111,那 么最右边那位就相当于十进制的 1,右边数起第二位就是 2,接下来依次是 4 和 8,和十进 制一样,我们把二进制的 1 变成二进制的 10 时就要乘以他的权值,也就是要乘以 2(0001 →


0010) 回到上文的竖式乘法,十进制时把 13 拆成 10 和 3,你就只要算 12*3 的值,剩下的 12*10 就把 1100 整体往左移动一位,然后相加就可以了。二进制的 1101,拆成 1000、100 和 1, 乘以 1 就相当于直接把 1100 带下去,乘以 100 的话,也就是跨越两位,乘 2 再乘 2,上面 说过乘以权值就是移位,乘了两次权值那就是移动两位,变成 110000,最后一个乘 1000 的 不用解释了吧,直接移位 3 次,变成 1100000,接着就直接相加: 1100+110000+1100000 = 10011100 图左上角是 X*Y 模块的构造(一个与门和一个加法器)


二进制乘法器教程