
武蔵野個別指導塾の特徴
高校情報I 2進数の加算—桁上がりと固定桁数のあふれを分けて計算する|武蔵野個別指導塾

残量表示の筆算を10進数に戻し、桁上がりとあふれを見分ける道筋をたどる2進数の加算です。
よくあるのは、高校生が固定桁を超えた桁を説明せず捨てるという場面です。残量を表す表示欄で2つの数を足したところ、左端からさらに1桁が生じました。欄に入る部分だけを書けば見た目の桁数はそろいますが、もとの合計を表したことにはなりません。まず桁数を制限しない和を求め、次に表示欄に収まるかを判定しましょう。
何を答える問題かを先に決める
出方の1つは、2進数の加算を筆算して和を求める問題です。右の位から足し、2以上になった分を隣の位へ送ります。答えの進法や桁数の条件があれば、計算の前に印をつけておきます。桁の途中に0があっても、その位を飛ばしてはいけません。
もう1つは、固定桁の表示に合計が収まるかを問う問題です。桁数を超えた桁を含む正しい和と、欄に残る下位の桁を別に書きます。あふれが起きたかどうかは、合計を表現可能な最大値と比較しても確かめられます。表示される部分と実際の合計を同じ意味で扱わないことが到達点です。
さらに、合計が上限に収まるように加える量を逆算する問題もあります。この場合は先に最大値と現在の値の差を10進数で求め、その差を2進数に戻します。求めた量を元の残量に加えて境界に達すること、さらに1増やすと境界を超えることを確認します。
位の重みと桁上がり
2進数では各位に書ける数字は0と1です。右端から順に位の重みは1、2、4、8、16と2倍ずつ増えます。例えば1011は8、2、1を合わせた10進数の11です。以下では数の後ろに「2進数」または「10進数」と書いて、見た目の数字と値を区別します。
同じ位にある2つの数字と、右隣から送られた桁上がりを足します。合計が0ならその位に0、1なら1を書きます。合計が2ならその位に0を書き、次の位に1を送ります。合計が3ならその位に1を書き、次の位に1を送ります。2進数の10は10進数の2、11は10進数の3を表すので、いずれも値を保った移し替えです。
図1のように、同じ重みの1が2個集まると、2倍の重みの位にある1個と交換できます。右端の1を2個集めれば、次の位の2が1個になります。桁上がりの1は元の位に置く数字ではなく、左隣の位に足す数字です。

固定4桁の非負整数なら、0000から1111までを表します。最大は8と4と2と1の合計で、10進数の15です。4桁以内で起きる桁上がりは普通の計算過程です。一方、最左位からさらに左へ出る桁は4桁に収まらないことを示します。この区別を「あふれ」と呼ぶ場合、何桁で非負整数を表すかという条件が必要です。
桁数を制限しない数学的な和は、必要なら5桁以上で書けます。固定4桁の欄に下位4桁だけが残るという規則を問題が与えた場合、その欄の値も別に求められます。ただし、実際の装置がどのように通知や表示を行うかは条件次第です。表示規則が書かれていなければ、捨てた結果を自動的に正しい表示と決めず、あふれたことを答えます。
基本例題:残量の追加を筆算する
ある教材用の残量欄は非負整数を2進数4桁で表します。現在の残量は0110、追加する量は0011です。合計を桁数を制限せず2進数で求め、4桁に収まるか答えてください。数値はこの問題のための条件で、実際の機器の仕様ではありません。
右端では0と1を足して1です。次の位では1と1の合計が2なので、0を書き左へ1を送ります。その次の位では1と0に送られた1を加えて2です。ここでも0を書き、さらに左へ1を送ります。最後の位は0と0に送られた1を足して1です。したがって和は1001、2進数です。
図2のように途中の桁上がりは左隣に加えます。4桁の中で2回桁上がりが生じましたが、左端の外には出ていません。1001は4桁なので、この条件ではあふれません。

値を10進数で照合します。0110は4と2で6、0011は2と1で3です。合計は9であり、1001も8と1で9です。元の残量6に追加分3を戻して足した値と、答えを読み直した値が一致します。最大の15以下でもあるため、桁数からの判定と値からの判定が合います。
ここで末尾の0があるからといって0110を11と読んではいけません。先頭の0は固定4桁を示し、右端の0は1の位に何もないことを示します。両者は位置も役割も異なります。筆算では上下の右端をそろえ、空いている上位には0を補うと位が対応します。
標準例題:欄に残る数と合計を分ける
別の教材用表示欄は非負整数を2進数4桁で表し、計算結果が4桁を超えた場合は下位4桁を表示し、あふれを別に知らせるという規則です。残量1101に追加分0101を足します。制限のない和を2進数で、欄の表示を先頭の0も含む4桁の2進数で答え、あふれの有無を説明してください。
右端は1と1で0を書き、1を送ります。次は0と0と桁上がり1で1です。次は1と1で0を書き、1を送ります。左端は1と0と桁上がり1で2になり、0を書いてさらに左へ1を送ります。制限のない和は10010です。4桁を超えたためあふれがあり、問題の規則で欄に残るのは0010です。
10進数に戻すと、1101は13、0101は5、10010は18です。欄の0010は2であり、合計18とは違います。左に出た1は16の位ですから、欄の2に16を加えると18に戻ります。これにより、表示に入らない分を含めた合計と、問題で定めた表示の双方を確認できます。
桁上がりが起きた回数だけであふれを判定するわけではありません。最左位から外へ出るか、あるいは合計が15を超えるかを見ます。例えばこの欄に13と2を入れれば合計15で上限にちょうど達しますが、13と3なら16となり上限を超えます。上限に等しい場合と上限を超える場合を区別してください。
発展例題:追加できる量を逆から決める
非負整数を2進数5桁で表す教材用の表示欄があります。現在の残量は10110です。合計を欄に収めるには、追加量を最大でいくつにできますか。答えは先頭の0を含む5桁の2進数とし、最大である理由も述べてください。
5桁の最大は11111で、10進数では16、8、4、2、1の合計31です。現在の10110は16、4、2の合計22です。31から22を引くと、追加できる最大は10進数の9です。9は8と1なので、指定された5桁では01001となります。
元の条件に戻すと、10110と01001の和は11111で、ちょうど最大値31です。さらに追加量を1増やして01010とすると、合計は100000、10進数の32となり5桁に収まりません。境界に達することと、その次で超えることの両方を示せば、9が可能な値の1つであるだけでなく最大だと確かめられます。
この問題は追加量も非負整数と考えています。すでに現在値が範囲内にあるという条件があるので差を使えます。現在値自体が指定桁数に収まらない入力なら、加算の前に条件の食い違いを指摘します。桁数や表示規則が示されない場合も、あふれの判定を確定せず、何桁を使うのかを確認します。
間違いを計算の途中に戻して直す
標準例題で、1101と0101の和を0010とだけ答え、「合計は2」とした答案を考えます。下位4桁は問題の表示規則と合っていますが、制限のない和の左端に出た1を落とし、その価値を説明していません。13と5を加えた結果が2になるはずはないと10進数で照合すると、失われた部分に気づけます。
図3のように、10010を左端の1と下位4桁0010に分けて見ます。前者は16、後者は2なので、合計は18です。修正した答案には、和10010、あふれあり、指定された欄の表示0010をそれぞれ書きます。図3の2つの部分は、異なる答えではなく同じ和の内訳です。

別の誤りは、3個の1を足す位で0を書いてしまうことです。1と1と1は10進数で3なので、その位に1を書き、左隣へ1を送ります。左隣への桁上がりを正しく送っても、その位を0と書くと、その位の重みの分だけ値が減ります。例えば2の位なら2減ります。各位の小さな計算を0から3まで数え、書く数字と送る数字の両方を記録しましょう。
また、最大値を10000とする誤りにも注意します。固定4桁なら10000は5桁で、4桁の最大は1111です。表せる種類数が16であることと、0から数えた最大値が15であることも別です。先頭の0を含む欄を描き、最大の各位を1にしてから重みを合計すると境界を説明できます。
練習:表示の条件を読み取る
次の問題では、数はすべて非負整数です。各問題の表示規則はその問題の中だけの条件です。計算結果の2進数は指定された桁数で書き、あふれのある場合は制限のない和も併記してください。
- 工作の部品数を表す4桁の欄で、0011に0100を足します。和を4桁の2進数で求め、あふれの有無を答えてください。
- 回収した札を表す4桁の欄で、1011に0110を足します。制限のない和と、下位4桁だけを表示する規則での欄の値を2進数で求め、あふれの有無を答えてください。
- 5桁の欄にある記録数01101に00111を加えます。和を5桁の2進数で求め、10進数で元の2つの数と和も示してください。
- 4桁の欄にある数量1001に追加する量の最大を求めます。合計を4桁以内に収める条件で、追加量を4桁の2進数で答え、さらに1増やした場合も示してください。
- 3桁の欄にある数111に001を足したところ、ある人は「000なので合計は0、あふれはない」と答えました。制限のない和を2進数で書き、下位3桁だけを表示する規則なら欄に何が残るか、答案の誤りとともに説明してください。
練習の答えと確かめ
-
和は0111で、あふれはありません。0011は10進数の3、0100は4で、合計7は0111に戻ります。4桁の最大15以下なので、桁数と値の両方から収まります。部品数3に4を加えると7という元の場面にも戻せます。
-
制限のない和は10001、あふれがあり、欄は0001です。1011は11、0110は6で、合計17です。10001は16と1で17を表します。下位4桁の1に、欄の外の16を足せば元の合計17に戻るため、表示と合計の差も確認できます。
-
和は10100です。01101は10進数の13、00111は7、10100は20です。13に7を加えると20であり、5桁の最大31以下です。右端から足すと、1と1で送った桁上がりが次の位の計算にも参加する点に注意します。
-
最大の追加量は0110です。1001は9、4桁の最大1111は15なので、差は6です。9と6の和15は1111に戻ります。追加量を1増やした0111は7で、9と7の和は16、2進数では10000となって4桁を超えます。
-
制限のない和は1000で、あふれがあります。指定の規則で欄に残るのは000ですが、合計は10進数の8であり0ではありません。111は7、001は1です。欄の外に出た1は8の位なので、欄の0に8を合わせると元の合計に戻ります。
計算途中で結果の桁が想定より多くなったときは、最左位への桁上がりを消さずに残します。固定桁の欄には入らないという結論も、正しい計算結果の一部です。表示規則が不明なら、欄の値を推測せず、制限のない和と収まらない理由を示しましょう。
覚えておくこと
右端から同じ位を足し、2になれば左へ1を送ります。3ならその位に1を残して左へ1を送ります。 固定桁の外への桁上がりと、欄の内部の桁上がりを区別します。 制限のない和と、規則によって欄に残る数を別々に答えます。 10進数に戻し、元の数の和と表現範囲を照合します。
途中のどこを確かめるか
答えだけが違うときは、まず上下の右端がそろっているかを見ます。次に各位の3つの入力、つまり上の数字、下の数字、右からの桁上がりを指で追い、書いた数字と送った数字を説明してもらいます。個別指導では、最後に欄の外に出た位の重みを10進数で言えるかも確かめます。欄の表示が合っていても合計の説明が欠けていれば、元の数に戻して照合します。位の価値を保って追えば、2進数の加算は途中から点検できます。
読んで終わりにするか、ここから変えるか。
武蔵境駅徒歩30秒、講師1人に生徒1人の完全1対1。授業のあいだ、先生は隣を離れません。いまの詰まりを、無料相談でそのまま話してください。
まず15分だけ電話で話したい方は、無料電話相談(15分)から。塾からお電話を差し上げます。
本気になった日が、入塾の日。
お子様の教育、迷ったら「丸投げ」してください。必ず、期待以上の結果で返します。武蔵野で育む、武蔵境で学ぶ。
電話は年中無休。365日、24時間、お電話可能。




