【ITパスポート試験】コンピュータの世界は0と1だけの「2進数」

私たちが普段使っている数字は、「10進数」といいます。0~9までの10個の数字しかありませんが、「9の次は10」と桁(ケタ)をあげることで、10個以上の数字を表すことができます。
コンピュータの世界では、電子回路に電流が流れているか、流れていないかの2種類の状態で物事を処理しています。電流が流れていない状態「オフ」を0に、電流が流れている状態「オン」を1とみなしています。
パソコンに入力されたデータはすべて0と1の数値に変換され、さらにオン、オフの電気信号に置き換えられて処理されます。この0~1の数字でおさまらない時に、「1の次は10(10進数の2)だ」と桁をあげることで、それ以上の数を表すことができます。この数え方を2進数といいます。
コンピュータの世界では、この0か1の入る箱の数をビットという単位で表します。
2進数で数を数えたら
2進数の2という数字は、「桁が進む数」をあらわしています。2進数であれば、「2になるごとに桁が進む数え方」です。これは同時に「使える数字の数」ともいえます。
2進数で数を数えた場合、下図のようになります。




2進数の重みと10進数への変換
先ほどでの図でみると、2進数の場合下位の桁から1、2、4、8…と桁が上がるごとに数字が2倍されていきます。これを桁の「重み(おもみ)」と言います。普段使用している10進数なら、下位の桁から1、10、100、1000…と桁が上がるごとに10倍されていきます。10進数だから10倍、2進数だから2倍と覚えましょう。
2進数表記の「1011.011」という数値を10進数に変換してみます。




① 各桁の数に重みをかけます。(2進数なので、各桁の重みは2倍ずつ増えます)
② ①で出た数字を全て足すと、11.375という結果が得られました。
「桁の重み」=「~の位」
数は、各桁の数値にその桁の重みをかけて、それを足したもので表しています。
10進数の215という数字は、「100の位」は2、「10の位」は1、「1の位」は5です。それぞれの位の値を使って数式にすると、(2×100)+(1×10)+(5×1)=215
桁の重みである「100」「10」「1」を、10進数の10を使って表すと、
(2×102)+(1×101)+(5×100)=215
2進数における小数点以下での桁の重み
2進数の小数点以下の桁の重みはどうなるのだろうか。例えば、先ほどの2進数「1011.011」小数点以下は右へ数えて2、3桁目にあるので、
(小数点2桁目):1×(2⁻²)=1×(1/2×2)=1×1/4=0.25
(小数点3桁目):1×(2⁻³)=1×(1/2×2×2)=1×1/8=0.125
となり、整数部と合わせると、
(1×2³)+(0×2²)+(1×2¹)+(1×2⁰)+(0×2⁻¹)+(1×2⁻²)+(1×2⁻³)
=8+0+2+0+1+0.25+0.125=11.375
10進数から2進数への変換
10進数を2進数へ変換する方法は次のような手順で行います。




① 例では、10進数155を2進数に変換するため、2で割って余りを出していきます。
② 出た余りを矢印のように、下から上へと並べると、2進数「10011011」に変換されます。
コンピュータの世界は0と1だけの「2進数」 まとめ
- 普段使っている数字は「10進数」、コンピュータの世界では「2進数」で表す。
- 2進数は、「2になるごとに桁が進む数え方」で、0と1を使用するため、2が「使える数字の数」である。
- 桁の重みとは、「~の位」の意味。各桁の数値にその桁の重みをかけて、それを足したもので表している。
【ITパスポート試験】過去問題練習と解説




2進数-1(H27年秋期)
問:10進数の演算式7÷32の結果を2進数で表したものはどれか。
ア:0.001011
イ:0.001101
ウ:0.00111
エ:0.0111
出典:基本情報技術者試験ドットコム
2進数-2(H23年秋期)
問:10進数の2、5、10、21を5つのマス目の白黒で次のように表す。
2 □□□■□
5 □□■□■
10 □■□■□
21 ■□■□■それぞれのマス目が白のときは0、黒のときはマス目の位置によってある決まった異なる正の値を意味する。この5つのマス目の値を合計して10進数を表すものとすると、■■□□□が表す数値はどれか。
ア:12
イ:20
ウ:24
エ:30
出典:ITパスポート試験ドットコム