[基本情報技術者試験]イメージで覚える!2進数の仕組み、計算方法

2進数 ○○方式
この記事は約6分で読めます。

先生、暗記科目はできるんですけど、2進数が全然わかりません…

2進数は暗記科目じゃないもんね。

テイストが違くて、混乱する人も多いんだよ。

私も計算問題が鬼門かもしれません…

大丈夫!ここでは2進数の考え方から計算方法までやっていくから安心してね!

2進数

10進数の仕組み

2進数を説明する前に、まずは普段使っている10進数を元に考えた方が分かりやすいと思います。

ですので、このページでは10進数と2進数を交互に説明していきますね!

そもそも10進数は、各桁が10になったら次の桁へ進むという仕組みです。

したがって、各桁がとる値の範囲は0~9までになり、

もし9に1が加えられたとき「10」となって次の位に上がります。

10進数の仕組み

この「位」ですが、「一の位」から始まって「十の位」、「百の位」と10倍ずつされるのにも注目してください。

2進数の仕組み

2進数でも同様の仕組みを使用しています。

ただし、2進数の場合は各桁が2になったら次の桁へ進みます。

したがって、2進数の場合、各桁で持てるのは「0」と「1」の二つだけになりますね。

なのでもし「1+1」があったら「2」ではなく、次の桁に進んで「10」となります。

また、位の単位も、「一の位」の次が「十の位」ではなく「二の位」になっていることに注目してください。

2進数の仕組み

2進数だと、位の単位も変わるんだね。

さて、次は位の単位について、もう少し詳しく見ていきましょう!

10進数の位取り

まずはいつも通り、10進数の位取りを確認していきましょう!

10進数は「の位」の次は「の位」、「の位」、「の位」となっています。

これ、全部10になっているんですね。

それもそのはず、各桁が10になったら次の桁に行くわけですからね。

逆に、1つ桁が繰り下がると全て「÷10」になっています。

これ、実は進数が次の桁に行くときは、「×n」になり、桁が下がるときは「÷n」になるという法則があるんです。

10進数の位の単位の図

=1というのは、とても大事だから覚えておいてね!

2進数の位取り

次に、2進数の位について考えてみましょう!

さて、2進数は各桁の位が何倍になっているか分かりますか?

答えは2倍です。2になったら次の位に上がるわけですからね。

同様に、桁が下がるときはその位は「÷2」されています。

2進数の位の単位の図

この、小数点以下になる場合の累乗の形は、是非覚えておいてください!

また、累乗にマイナスが来ると、分母にその累乗の値が来ます。

例えば 2-3 なら 1/23 のようになります。

2進数の累乗に「-」があったときの処理

2進数の計算方法(整数部分)

ここからは計算部分だよ。

小数部分と整数部分は少し方法が違うから、分けて説明するね。

2進数から10進数へ

n進数の計算をするときに最も重要なことは、それぞれの位の単位は何かということです。

例えば10進数456なら、それぞれの位の単位とそれぞれの位の値を掛け合わせて計算します。

10進数の計算方法の画像

2進数も計算方法は同じです。

ただし、位の単位が10進数とは違うので、注意をする必要があります。

それでは例として、2進数101を10進数に直してみましょう

2進数の位の単位は下から、「一の位」、「二の位」、「四の位」と続いていきますね。

2進数の説明の画像

したがって、2進数101を10進数に直すと5になります。

このように、2進数から10進数にするときでも、値とその位の単位を掛け合わせて計算します。

10進数へ直すときは、各桁の位の単位と、位の値掛け合わせる

10進数から2進数へ

10進数から2進数にするとき方は2種類あります。

解き方1:位の単位を書き、上の位から埋めていく方式

解き方2:筆算を使う解き方

解き方1:位の単位を書き、上の位から埋めていく方式

続いて、10進数から2進数に直してみましょう。

こちらも先ほどと同じく、位の単位をまず考えていきます。

解く手順は、

①:位の単位を書く、②:上の桁から、位の単位と値を比べる、③:値のほうが大きければ、そこに値を書く、④:②から③を繰り返す。

です。図で示しますね。

ここでは例として、10進数11を2進数に直してみましょう!

10進数を2進数に直す説明

①:まず、2進数の位の単位を先に書きます。これがあると、とても解きやすくなります。

②:11と位の単位を比べて、11のほうが大きい時、11を位の単位で割ります。

11÷8=1余り3

③:この時の商の1を、今割った位の単位のところに書きます。

④:余りの3で、②から③を繰り返します。

その結果、10進数11を2進数に直すと1011という値が求められます。

この解き方は、科目Bで出る可能性があるんだ。

解き方2:筆算を使う解き方

この解き方ではまず、n進数のnで値を割っていきます

そして出た余りを下から読んだものがそのまま答えになります。

2進数の筆算の説明

仕組みを解説しますね。

これ、どんどん2で割ってるんです。

図で見ると、色付けされている部分はそれぞれ2の累乗で割り切れている部分です。

逆に余りは、はじき出される部分なんですね。

したがって、2で割っていってはじき出された部分が、下の桁から入力されていくんです。

2進数の筆算の仕組み

2進数の計算(小数部分)

2進数を10進数へ

2進数から10進数にする場合は、整数の時と同じように位の単位に値を掛け合わせます

例として、2進数の数値、0.101で考えてみましょう!

小数点以下の値の桁の単位は1/2、1/22、1/23となっていきます。

2進数を10進数へ変換する説明

したがって、2進数0.101を10進数に直すと、5/8=0.625になります。

流れとしては、位の単位×位の値で、整数と同じだね!

10進数を2進数へ

小数部分でも、10進数から2進数に直してみましょう。

例として今回は、10進数の0.375を2進数に直してみます。

少数の場合は、掛け算を使います。

①:与えられた数に2をかけます

②:①で出てきた値の小数部分のみを抽出します。

③:①と②を繰り返し、小数部分が0になるまで続けます。

④:出てきた数値の整数部分を上から読んだものが答えです。

2進数の小数部分の筆算

これも仕組みを解説していきますね。

10進数の小数を2進数に直すというのは、さっきと逆で「1/2×〇、1/22×□、1/23×△」の形に直すということです。

したがって、〇や□、△の値を求めればいいというわけなんですね。

なので、2をかけて分数部分を消して〇や□を求めていきます。

どうだったかな?

うーん、なかなか難しいですね…

2進数はイメージをつかむまでが難しいよね。
でも、イメージさえつかめばできるようになるんだ。

だから、たくさん練習して慣れていってね。

練習問題

問題1

2進数11010001は10進数で何になるか。

答) 209 最初に位の単位を書き、値と掛け合わせてください。

2進数の計算

問題2

10進数50を2進数に直してください。

答) 110010   筆算で解いてみると分かりやすいですよ。

2進数の計算

問題3

1バイトのデータで0のビット数と1のビット数が等しいもののうち,符号なしの2進整数として見たときに最大になるものを,10進整数として表したものはどれか。

ア、120 イ、127 ウ、170 エ、240

答) エ   1バイトは8ビットです。つまり、8桁の2進数の数字の中で、一番大きいのを求めればいいんですね。そうすると、「11110000」が一番大きくなり、計算すると240になります。