冬期講習 2026-2027、募集中。総復習は売りません。90分×完全1対1で、穴だけを塞ぎます 詳しく →
電話 0422-27-7828チャットで質問無料相談を予約

武蔵野個別指導塾の特徴

高校情報I 2進数と10進数—位取りと割り算から整数を相互に変換する|武蔵野個別指導塾

学習のイメージ写真 武蔵野個別指導塾
X LINE Facebook

2で割った余りを逆順に並べる理由をたどり、指定桁への0の補い方と、元の整数へ戻す検算を身に付けます。

よくあるのは、2進数の各桁に10の累乗を掛けてしまう場面です。数字の並びは見慣れた0と1でも、右から2桁目の重みは10ではなく2です。範囲表と授業ノートで進数変換が試験範囲に入っているか確かめ、桁の値を書き込むところから練習しましょう。ここで扱うのは0を含む非負整数です。符号付き整数や小数の変換には立ち入りません。

答案に求められる3つの動き

定期テストでは、まず2進数を10進数へ直す型が考えられます。各桁に対応する重みを右から並べ、1の桁の重みを足します。0が並ぶ場所も飛ばさずに位を数えることが、足す数を間違えないための手がかりです。

次に、10進数を2進数へ直す型があります。整数を2で割り、余りを記録しながら商が0になるまで続けます。余りを出た順の逆に並べるところまでが解答です。割り算の途中で止めると、上位の桁が欠けて元の数には戻りません。

もう1つは、桁数を指定して表す型です。変換した結果が指定より短ければ左に0を補えます。一方、必要な桁が指定より多ければ、先頭の1を消して収めることはできません。問題が求める底と桁数を答案の最後で確認します。

位の重みは右から決まる

10進数では、右端から1、10、100と重みが10倍ずつ増えます。2進数では使える数字が0と1で、右端から1、2、4、8、16と重みが2倍ずつ増えます。各桁の数字は、その重みを何個使うかを表します。0なら使わず、1なら1個使います。

図1のように重みを各桁の真上に置くと、桁を数え違えにくくなります。図の2進数10110は、右端から1、2、4、8、16の位です。1がある16、4、2を足して10進数の22になります。0の位も場所を占めるので、途中の0を消してはいけません。

図1 2進数の各桁と右から倍になる位の重み

図1では、文字列10110と値22の表し方が異なりますが、表している整数は同じです。本文では底を明確にするため、例えば「10110(2進数)」「22(10進数)」と書きます。数字だけが並ぶと底を読み違えることがあるため、問題文にも答案にも注目してください。

2進数の左端に0を加えても値は変わりません。例えば00101(2進数)と101(2進数)はどちらも5(10進数)です。左の0は空いている上位の位を示します。ただし、右に0を付けると各数字の位が1つずつ左へ移り、値が2倍になるので同じ操作ではありません。

位を飛ばさないための小さな確認

位の重みは、書かれた数字が0か1かに関係なく決まります。例えば1000(2進数)では、右から1、2、4、8の位があり、値は8です。0が3個続いていても位を詰めないため、左端の1は8の位に残ります。これに対して100(2進数)の左端は4の位で、値は4です。見た目が似た2つの数を比べると、0が位置を保つ役目を持つことが見えます。

変換の途中では、まず各位の重みを書き、その後で1の位置に印を付けると整理できます。重みを決める作業と、足す位を選ぶ作業を同時に急ぐと、間の0を読み飛ばしやすくなります。答案のスペースが限られる場合も、少なくとも右端の重みと、左へ2倍ずつ進んだ結果を残すと、後で計算を点検できます。

基本例題:重みと余りを一行ずつ追う

次の2つの整数を、指定された底の整数に直してください。桁数の指定はなく、2進数の先頭に余分な0は付けません。

Aでは図2の左側のように、右端から重みを対応させます。桁の列と重みの列をそろえて書き、使う位だけを足します。

  1. 1101の各桁に、左から8、4、2、1を対応させます。
  2. 数字1があるのは8、4、1の位です。2の位は0なので足しません。
  3. 8と4と1の合計は13です。
  4. 答えは13(10進数)です。
  5. 13は8、4、1に分けられるため、各位に戻すと1101(2進数)です。

Bでは商と余りを分けて記録します。図2の右側にある余りの列は、右から左へ読むと答えになります。

  1. 19を2で割ると、商9、余り1です。
  2. 9を2で割ると、商4、余り1です。
  3. 4を2で割ると、商2、余り0です。
  4. 2を2で割ると、商1、余り0です。
  5. 1を2で割ると、商0、余り1です。商が0なのでここで止めます。
  6. 余りを最後から最初へ読むと10011です。答えは10011(2進数)です。
  7. 逆に位の重みを使うと16、2、1の合計は19です。元の条件に戻りました。
図2 重みを足す方法と余りを逆から読む方法

なぜ余りを逆から読むのでしょうか。最初の余りは、元の整数を2で割ったときの端数なので1の位です。残った商をさらに割った余りが2の位、次が4の位になります。つまり記録は下位から上位へ進みます。通常の数の書き方は上位を左に置くため、記録した順序を逆にします。

商が0になっても余りをもう一度求め続ける必要はありません。もとの整数が0なら、割り算の列を無理に作らず0(2進数)と表します。0も変換の対象に含めると、終了条件と答えの書き方を区別できます。

桁数の条件があるとき

例題:表示欄には2進数を6桁で書きます。42(10進数)と65(10進数)について、それぞれ値を変えずに表示できるか調べ、できる場合は6桁の2進数を答えてください。表示欄には0と1を使い、先頭の0も1桁として数えます。

42を2で割ると、商21、余り0です。21では商10、余り1、10では商5、余り0です。続けて5では商2、余り1、2では商1、余り0、1では商0、余り1です。余りを逆順に読むと101010(2進数)となり、ちょうど6桁に収まります。

答えを元に戻して確かめます。左からの重みは32、16、8、4、2、1です。1のある32、8、2を足すと42です。6桁という見た目だけでなく、表示される値も条件と一致しています。

65は、2で割って得る余りを下位から順に書くと1、0、0、0、0、0、1です。逆順では1000001(2進数)で、7桁必要です。6桁の最大は111111(2進数)で、32、16、8、4、2、1を足した63(10進数)です。65は63を超えるので、この欄に値を変えずには表示できません。

先頭の1を消して000001とすると、残る値は1になり65に戻りません。桁数が足りないときは数字を削るのではなく「表示できない」と理由を添えます。逆に変換結果が6桁より短い場合は、左側の空いた位を0で埋められます。桁数の不足と、先頭の0による桁合わせは区別してください。

境界を使って判断する

ある桁数で表せる最大値を調べるときは、右端から必要な個数だけ重みを並べ、それぞれに1を置いて足します。6桁の場合、すべて1なら63です。63自身は111111で収まりますが、その次の64は1000000となり7桁必要です。境界に等しい数と、それを1だけ超える数を比べると、不等号の向きや「等しい場合」を取り違えにくくなります。

一方、6桁で0を表すなら000000です。桁の指定がなければ0と書けますが、欄の条件があれば先頭の0も数えて6桁にします。数の値と表記の長さは別の条件なので、変換後に両方を見直してください。

誤答を手順に戻して直す

1101(2進数)を10進数にする例で、位を左から1000、100、10、1と置いて1101と答えたとします。原因は、2進数の数字を見ているのに、10進数の位の重みを使ったことです。図3のように、数字の並びをそのまま残しても、重みを8、4、2、1に直すと値は13になります。

図3 10の位取りを2の位取りに直す誤答修正

図3の誤答は計算の足し算自体より前、重みを決める段階で生じています。右端の重みを1とし、左へ進むたびに2倍する手順を書き足して直します。数字の並びと値は別のものだと意識すると、誤った結果を文字列のまま答える失敗を見つけやすくなります。

もう一つの誤りは、19の割り算の余り1、1、0、0、1を出た順に並べて11001とすることです。この数を10進数に戻すと16、8、1の合計で25となり、元の19と一致しません。最初の余りが右端の位だと書き込み、最後の余りから読み直すと10011です。

途中で商が1のときに止めるのも危険です。最後の1を2で割った余りが上位の1になるため、この行を抜かすと元の値に戻りません。商が0になるまでの記録、逆順に読む操作、元の底への再変換を別々に点検しましょう。

練習:答えを隠してまず解く

次の数は練習用に設定したものです。指定がない場合、2進数は先頭に余分な0を付けず、答えに底を添えてください。途中の重みや商と余りも書きます。

  1. 101001(2進数)を10進数に直してください。
  2. 26(10進数)を2進数に直してください。
  3. 7桁の2進数の欄に、9(10進数)を値を変えずに表してください。先頭の0も桁数に含めます。
  4. 5桁の2進数の欄に32(10進数)を値を変えずに表せるか判定し、理由を書いてください。
  5. 0(10進数)を2進数に直し、答えを10進数に戻して確かめてください。

練習の答えと解き方

  1. 41(10進数)です。右からの重みは1、2、4、8、16、32です。1のある32、8、1を足すと41になります。逆に41を32、8、1に分ければ、6桁の重みに対して101001となり、問題の数へ戻ります。途中の0を省くと位がずれてしまいます。

  2. 11010(2進数)です。26を2で割った商と余りは順に、13と0、6と1、3と0、1と1、0と1です。余りを下から読むと11010になります。16、8、2を足せば26なので、割り算と逆方向でも一致します。余りの最初の0は右端に置きます。

  3. 0001001(2進数)です。9は8と1に分かれるので、先頭の余分な0を除けば1001です。7桁にするには左に0を3個加えます。7桁の重みは左から64、32、16、8、4、2、1で、1の位の重みを足すと8と1で9に戻ります。右側に0を加えると値が変わる点に注意します。

  4. 表示できません。5桁の重みは左から16、8、4、2、1で、すべての桁を1にした11111でも31です。32はそれより大きく、100000(2進数)と6桁必要です。これを10進数に戻すと32で、先頭の1を削ると0になるため、5桁への切り詰めは条件を満たしません。

  5. 0(2進数)です。0の桁に対応する重みは1ですが、数字が0なので値は0です。10進数に戻しても0となり、元の数と一致します。桁を指定されていないので、先頭に余分な0を並べる必要はありません。

答えの書式も確認する

同じ値を別の底で書いたとき、数字の並びまで同じになるとは限りません。変換後の数字に「2進数」または「10進数」と添えれば、どちらの表記かが伝わります。桁数を指定された問題では、書いた数字を左から数えて条件と照合します。値の確認に加えて書式まで見直すと、計算が合っているのに指定された形と違う答案を防げます。

試験前に残す要点

どこで止まったかを見分ける

答えが合わないときは、最初に位の重みの列を見てください。右から2倍になっていなければ位取りの理解を、重みは正しいのに合計が違えば1の位置と足し算を確認します。割り算では商と余りを混ぜていないか、最後の余りから読んだかを別々に見ます。

個別指導では、途中式を隠さずに書いてもらい、どの余りが1の位に入るかを本人の言葉で説明できるか確かめます。桁数の問題では、左に0を補った結果と、先頭の1を消した結果をそれぞれ10進数に戻します。答えを元の値に戻す一手が、位取りの間違いを見つける手がかりです。

読んで終わりにするか、ここから変えるか。

武蔵境駅徒歩30秒、講師1人に生徒1人の完全1対1。授業のあいだ、先生は隣を離れません。いまの詰まりを、無料相談でそのまま話してください。

まず15分だけ電話で話したい方は、無料電話相談(15分)から。塾からお電話を差し上げます。

本気になった日が、入塾の日。

お子様の教育、迷ったら「丸投げ」してください。必ず、期待以上の結果で返します。武蔵野で育む、武蔵境で学ぶ。

電話は年中無休。365日、24時間、お電話可能。

チャットで質問チャット
無料相談を予約する 電話 0422-27-7828電話 LINE チャット
で質問