跳到主要内容
CalcMax

乘法计算器

范围:-1,000,000 – 1,000,000

范围:-1,000,000 – 1,000,000

结果

1,035.000000

积

部分积
115, 920
积的小数位数
0

竖式乘法把两个数一位一位地乘开,并把每一个部分积都留在眼前,连同它该往左挪几格、以及小数点最后落在哪儿。这一页说的乘法,是把一个数的每一位分别去乘另一个数、各写一行、再把各行相加——加起来那一步正是竖式加法在做的事。默认的 23 × 45 = 1035 写成两行:115 与 920,第二个往左错了一位。小数不会改变任何取数的工作:2.3 × 4.5 用的还是 115 与 920 这两个部分积,动的只有小数点——两个因数各有一位小数,所以积从右边数进来两位。负因数也照收,而部分积一律印不带符号的那一份,与手写时把负号留在式子外面是同一种写法。

23 × 45:乘数的每一位各一行

错位乘数的这一位部分积错位之后的值
05115115
1492920

乘数的每一位一行,从个位开始。有「错位」这一列正是这张表存在的理由:手写时错位靠那一行开头空几格来表达,而写进表格的行没有格子可空,对齐就得变成一个数字。最后一列从上往下读,就是接下来要相加的那两行,而把它们加起来是一次普通的竖式加法——错位 1 就是 920 末尾的那个 0。每一格都是整数,所以这张表在全部十个语言里长得一样。

公式

a × b:把 b 的各位写成 b₀ + 10·b₁ + …,每一行取 a × b_k,往左错 k 位,再把各行相加 积 =(a × b 的整数形式)的小数点从右往左数「小数位数之和」位

a
被乘数,也就是被反复去乘的那个数。另一个数的每一位都拿它整份去乘,所以它在整个过程中保持完整,被拆开的是另一个数。
b
乘数,把它从个位起一位一位地取出来用。它的每一位各出一行,包括等于 0 的那一位——因为那一行记录的是这一位占了哪个位置,而一个什么也没有的位置也是信息。
错位
这一行往左挪了几格,等于乘数上那一位所在的位置。这正是数位在起作用:45 里的 4 值四十,所以它乘出来的部分积是 5 乘出来的十倍。手写时靠把这一行往左挪一格来表示,写成表格就必须把它变成一个数字。
小数位数
小数点后面有几位,是两个因数各自的位数相加,而不是从其中某一个上数出来的。2.3 有一位、4.5 有一位,所以积有两位,1035 就成了 10.35。取数那一段完全不依赖这个数:整场乘法都在整数上跑,小数点最后才放上去。

要把乘法讲出来而不只是要一个答案时用这一页:核对一个手算出来的积、讲清错位那一步,或者算小数乘法而容易出错的正是小数点该落在哪儿。一个数反复乘自己多少次要多少次方,那是幂那一页;分数的乘法另有一套规则,分子乘分子、分母乘分母。

算例

  1. 23 × 45

    1. 先用个位去乘:23 × 5 = 115,不错位
    2. 再用十位去乘:23 × 4 = 92
    3. 十位那一位值的是十倍,所以这一行往左错一格,读作 920
    4. 把两行相加:115 + 920 = 1035
    5. 两个因数都没有小数位,所以积也没有
    6. 积是 1035

    默认这一格。920 末尾那个 0 就是错位留下的痕迹——手写时那一行只是往左挪了一格,读成数字就必须把这个 0 写出来。两行相加就是一次普通的竖式加法,也就是隔壁那一页。

  2. 同样的数字加上小数点

    1. 先把小数点放到一边,按整数乘:23 × 45 就是上一格
    2. 两个部分积是 115 与 920,一格没变
    3. 数小数位:2.3 一位、4.5 一位,所以积共两位
    4. 在 1035 里从右往左数进来两位点上小数点
    5. 积是 10.35

    这一格把小数乘法的道理说得最清楚:取数那一段与 23 乘 45 完全相同,全部差别只在小数点落在哪儿。这也是为什么要报出「两位」而不是从某一个因数上数——它是两个因数加起来的。

  3. 乘数里有一位是 0

    1. 先用个位去乘:23 × 0 = 0,不错位
    2. 再用十位去乘:23 × 4 = 92,往左错一格,读作 920
    3. 把两行相加:0 + 920 = 920
    4. 积是 920

    0 那一行留着,不跳过。手写时通常不写它,但它占的位置正是要记录的东西——它说明 40 的个位什么也没贡献——而「各行相加等于积」这条验算也要求它在。这一处与 FOIL 那页的选择正好相反:那里算出来是零的项整段不印,因为那个零项根本不存在;这里的一行是真的被写下来了。

局限

两个因数的小数位数加起来最多六位,限制的是这个和,不是某一个因数的位数。这是显示上的界,不是算术上的界:面板按六位小数印积,需要八位的积会被印成 0.000000——一个披着正确答案外衣的错答案。每个因数的绝对值不超过一百万,整数形式的积不超过能被精确表示的那个整数上界,因为数字是一位一位取出来的,越过去之后部分积就加不出积来了。负因数照收,而部分积印不带符号的;符号只出现在最后的积上。0 是合法的因数,一个负数乘 0 印出来的是 0 而不是负零。这一页做乘法;除法是另一套过程,有它自己的竖式规则。

常见问题

竖式乘法是什么?
把一个因数的各位拆开来乘:乘数的每一位各出一行,各行按那一位所在的位置往左错几格,最后把各行相加。算出来的积与计算器给的一样,区别在于中间那几行是留下的。
部分积为什么要错位?
因为一个数字值多少取决于它站在哪儿。45 里的 4 值四十,所以它乘出来的东西必须比 5 乘出来的大十倍,而把那一行往左挪一格就是记下这件事的办法。加法里「相同数位对齐」用的是同一条规矩。
怎么知道小数点该点在哪儿?
把两个因数的小数位数相加。2.3 一位、4.5 一位,所以积有两位,1035 就成了 10.35。取数那一段从来见不到小数点——整场乘法都在整数上跑,点最后才放上去。
为什么 0 那一行也要留着?
因为那一行的位置就是信息本身。乘数的个位是 0 时,这一行说的是个位什么也没贡献,把它去掉就丢掉了「剩下那一行错了一位」这件事。留着它还保证各行相加永远等于积,而那正是这一页要支持的验算。
负因数怎么处理?
两个因数里恰好一个是负的,积就是负的;两个都是负的,积是正的。两种情形下部分积都印不带符号的那一份,与手写时把负号留在式子外面一致——也正是这样才能让它们加得出积。
为什么整数结果后面跟着一串零?
因为面板按固定的六位小数印积,所以 1035 印成 1035.000000。另一条路是把积做成文本输出,而那会让答案里的小数点变成 ASCII 句点——在拿逗号当小数点的国家里是错的,比多几个零严重得多。

参考资料

相关计算器