筆算の足し算計算
計算結果
合計
- 繰り上がりの回数
- 2, 1, 0, 0
筆算の足し算の計算ツールです。複数の整数を、紙に書くときと同じように1列ずつ足し、左へ移る繰り上がりをその都度印字します。途中を省かない足し算で、合計は各桁に書いた数字と、列ごとに1項ずつ並ぶ繰り上がりの並びとして返ります。答えを信用するのではなく、途中と突き合わせて確かめられます。既定値は1,234と567と89を足して1,890、繰り上がりの並びは一の位から左へ2, 1, 0, 0です。受け付けるのは整数だけです。小数点があればまずそれをそろえる必要があり、それは別の手順になりますし、負号には独自の列が要ります。繰り上がりの並びの項数は、合計の桁数と必ず一致します。何も落ちていないことを確かめる最短の方法がこれです。
1,234 + 567 + 89を1列ずつ筆算する
| 列 | 数字 | 下からの繰り上がり | 合計 | 書く数字 | 次の列への繰り上がり |
|---|---|---|---|---|---|
| 0 | 4 + 7 + 9 | 0 | 20 | 0 | 2 |
| 1 | 3 + 6 + 8 | 2 | 19 | 9 | 1 |
| 2 | 2 + 5 + 0 | 1 | 8 | 8 | 0 |
| 3 | 1 + 0 + 0 | 0 | 1 | 1 | 0 |
1列に1行で、一の位から上へ向かって読みます。実際の計算が進む向きがこれです。数字の列には、その位に各加数が出すものが並びます。そこまで届かない加数が出す0も含まれ、読み手がここで位置を見失いがちです。合計は下からの繰り上がりとそれらの数字を足したもので、最後の2列がそれを書く数字と左へ送る繰り上がりに分けます。いちばん上の行の繰り上がりが0なのは一の位の右に何も無いからで、いちばん下の行の繰り上がりが0なのは左に何も無いからです。列は整数で、数字の並びは表記なので、この表は10言語すべてで同じものになります。
公式
column k: total = digit_k(a₁) + … + digit_k(aₙ) + carry_in written digit = total mod 10 carry out = floor(total ÷ 10)
- a₁ … aₙ
- 加数で、2個から10個までの整数、それぞれ1兆以下です。最初の列はすべての数の一の位が同時に並ぶ列なので、この手順が意味を持つ前に、数を桁をそろえて書き並べておく必要があります。
- column k
- 右から数えてk番目の位で、一の位を0と数えます。どの列にも各加数の1桁ずつが入り、そこまで届かない短い数は飛ばされるのではなく0を1つ出します。数字の位の値は、それがどの数から来たかではなく、どの列に座っているかで決まるからです。
- carry
- 次の列へ繰り上がる分です。書く数字を取り除いたあとに残ったもの、つまり合計の十の部分です。1つの列が繰り上げられるのは最大9で、いちばん上の列はさらに1桁ぶん繰り上がることがあります。9 + 9が2桁の答えになるのはそのためです。
- sum
- 合計で、同時に繰り上がりの並びを測る基準でもあります。並びは列ごとに1項なので、その長さは合計の桁数に等しくなります。先頭の0は書かないので、007は答えの7です。
答えだけでなく途中を見せる必要があるときに使います。繰り上がりの手順を教える、手で出した合計を確かめる、いくつもの数を一度に足して途中の繰り上がりが怪しい、といった場面です。合計を出した次に来る問いが平均で、平均のページは同じリストを受け取ります。
計算例
1,234 + 567 + 89
- 一の位:4 + 7 + 9 = 20なので、0を書いて2を繰り上げる
- 十の位:3 + 6 + 8 + 2 = 19なので、9を書いて1を繰り上げる
- 百の位:2 + 5 + 0 + 1 = 8なので、8を書いて0を繰り上げる
- 千の位:1 + 0 + 0 + 0 = 1なので、1を書いて0を繰り上げる
- 書いた数字は、いちばん上の位から順に1、8、9、0
- 合計は1,890で、繰り上がりの並びは2, 1, 0, 0
3つの加数はそれぞれ4桁・3桁・2桁なので、短い2つは上の位で桁が尽き、そこには何も足しません。並びは4項で、合計は4桁です。この一致がこのページの土台にある主張で、繰り上がりが1つも起きない入力も含めて、どんな入力でも成り立ちます。
9 + 9、新しい列が現れる場合
- 一の位:9 + 9 = 18なので、8を書いて1を繰り上げる
- もう列が残っていないので、繰り上がりが列を1つ開く:1を書いて0を繰り上げる
- 書いた数字は1と8
- 合計は18なので、繰り上がりの並びは1, 0
1桁の加数2つから2桁の答えが出る例です。繰り上がりの並びには、加数がそもそも持っていなかった列のぶんの項があります。だから並びは、いちばん長い加数より1つ長くなるのです。1, 0を答えからの引き算として読むのは間違いです。項は一の位から上へ向かって並ぶので、最初の項は一の位の繰り上がりです。
繰り上がりが1つも無い合計
- 一の位:0 + 0 + 0 = 0、0を書いて0を繰り上げる
- 十の位:0 + 0 + 0 = 0、0を書いて0を繰り上げる
- 百の位:1 + 2 + 3 = 6、6を書いて0を繰り上げる
- 合計は600で、繰り上がりの並びは0, 0, 0
ここでは何も繰り上がりませんが、0はそれでも印字されます。最初の非ゼロで止まる並びは列と見比べられなくなり、この読み方の要点は並びの項と位が対応していることだからです。この算例は加数をセミコロンではなく空白で区切っています。どちらも受け付けますが、空白ならコンマを避けられます。コンマを小数点として読む国があるからです。
適用限界
整数だけを受け付けます。小数点があると、まず加数を小数点でそろえて0を埋めなければならず、それは列を増やして足すのとは別の手順になります。だから小数は、黙って整数として扱うのではなく拒否します。負の加数も同じ種類の理由で拒否します。負号は数字ではなく、独自の列と規則が要るからです。加数は2個から10個までです。1個では書く列がありませんし、10個を超えると合計はリスト全体の集計で出すほうが適しています。各加数は1兆まで、合計は正確に表せる整数の上限までに限っています。数字を1桁ずつ読むので、それを超えると書いた数字と答えが一致しなくなるからです。このページは足し算だけを行い、引き算も掛け算も割り算もしません。それぞれに独自の列の手順があります。
よくある質問
- 筆算の足し算とは何か
- 数を紙に書くときと同じように足すことです。桁を位ごとにそろえ、一の位から左へ進み、余った分を次の列へ繰り上げます。電卓が出すのと同じ合計を、途中の段階を捨てずに残した形です。
- なぜ一の位から始めるのか
- 繰り上がりが左へ向かって進むからです。どの列も入ってくる繰り上がりを必要とし、それは右隣の列から来ます。だから一の位が確定してからでないと十の位は決められません。ほかの場所から始めると、繰り上がりが届いた時点で戻り直すことになります。
- 繰り上がりの並びは何を教えてくれるのか
- 各列が次の列へ何を繰り上げたかを、一の位から順に並べたものです。長さは合計の桁数なので、検算にもなります。繰り上がりが1つ抜けたか、列が1つ落ちたなら、この2つの長さが合わなくなります。
- 答えの桁数が、いちばん長い加数より多くなることがあるのはなぜか
- いちばん上の列がまだ繰り上がることがあるからです。9と9を足すと一の位が埋まり、行き場の無い繰り上がりが残るので、それを入れる列が1つ新しく開きます。9 + 9が8ではなく18になるのはそのためです。繰り上がりの並びがいちばん長い加数より1項長くなりうるのも、この余分な列のせいです。
- 小数は足せるのか
- このページでは足せません。小数も列をそろえて足せますが、その前に小数点でそろえて0を埋める必要があり、列の意味が変わります。位の値ではなく、小数点より後の位置になるからです。このページは1.5を15として扱うのではなく、その入力を拒否します。
- 加数の順序は結果に影響するのか
- 合計はどの順序でも同じです。繰り上がりの並びは違ってきます。順序が変わると各列が受け取る数字が変わり、たまたま各桁の合計が9になる列は、別の並べ方では繰り上がります。答えは変わらないのに、途中の計算は順序に依存します。
参考文献
- Base — 数字の値がどの列に座っているかで決まること。一の位から始めるのが正しい理由でもある — Wolfram MathWorld (United States)
- Binary — 底2でのまったく同じ繰り上がりの手順。1 + 1でもう繰り上がり、並びがいちばん見やすい — Wolfram MathWorld (United States)
- Additive Inverse — 数の反数。負の加数をそのまま列に書き込めない理由 — Wolfram MathWorld (United States)