概述
都知道, 计算机中存储整数是存在着位数限制的, 所以如果需要计算100位的数字相乘, 因为编程本身是不支持存储这么大数字的, 所以就需要自己实现, 当然了, 各个编程语言都有大数的工具包, 何必重复造轮子...上小学知识:
个位数相乘, 一次运算
2位数乘1位数, 分解后共: 2次乘法和2位数的加法, 4次运算(乘10可看做移位操作)
3位数乘1位数, 分解后共: 3次乘法, 3位数的加法(不要看两个加号...不要小看这个一次乘法运算的减少, 从上面能够看出, 乘法运算的运算次数是随位数成指数增长的, 而加法运算则随位数成线性增长, 等看了下面的多位数相乘, 你就知道减少的这一次乘法运算有什么用了....也就是说, 4位数的乘法, 其中用到了3次两位数乘法, 2次两位数减法, 1次8位数加法.
8位数乘法
8位数乘法就不展开了, 直接套用4位数乘法得出的结论, 其运算次数为:
3次4位数乘法: 次
2次...是不是自己知道了20多年的乘法运算, 根本没有想到还有其他计算乘法的运算规则? 我也没想到, 涨见识了...