2進数と情報量
コンピュータの内部では、すべての情報が「0」と「1」の2種類の数字だけで表現されています。文字も画像も音楽も、突き詰めればすべて0と1の並びです。この講義では、コンピュータが使う2進法の仕組みと、情報の量を測る単位について学びます。
ビットとバイト — 情報の最小単位
コンピュータが扱う情報の最小単位をビット(bit)と呼びます。1ビットは「0か1か」の2通りの状態を表せます。ビットが増えると表せる情報の数は2倍ずつ増え、nビットでは2n通りの情報を区別できます。たとえば2ビットなら00・01・10・11の4通り、3ビットなら8通り、8ビットなら28=256通りです。
8ビットをまとめて1バイト(B)と呼びます。データ量が大きくなると、キロバイト(KB)・メガバイト(MB)・ギガバイト(GB)・テラバイト(TB)という単位を使います(1KB=1,000B、1MB=1,000KB…と1,000倍ずつ。コンピュータ内部では1,024倍で数える流儀もあります)。
2進法と10進法の変換
私たちが日常使う10進法は0〜9の10種類の数字で数を表し、桁が上がるごとに位の重みが10倍になります。一方2進法は0と1の2種類だけを使い、位の重みは右から順に1、2、4、8、16…と2倍ずつ増えます。
2進数→10進数は、1が立っている位の重みを合計します。10進数→2進数は、2で割った余りを下から並べる方法が確実です。
逆に10進数の 25 を2進数にするには、25÷2=12 余り1、12÷2=6 余り0、6÷2=3 余り0、3÷2=1 余り1、1÷2=0 余り1。余りを下から読んで 11001 となります(検算: 16+8+1=25)。
16進法 — 2進数を短く書く工夫
2進数は桁数が長くなりがちです。そこで4ビットずつをまとめて1桁で表す16進法がよく使われます。16進法では0〜9のあとにA(10)、B(11)、C(12)、D(13)、E(14)、F(15)を使います。たとえば16進数の 2F は、2×16+15 = 47(10進)です。Webページの色指定(#FF0000=赤)などで16進数は身近に使われています。
2進数の足し算
2進数の足し算のルールは「0+0=0、0+1=1、1+0=1、1+1=10(桁上がり)」の4つだけです。たとえば 1010(10)+ 0011(3)= 1101(13)となります。
- コンピュータは電圧の高低など2状態で動くため、2進法が扱いやすい。
- nビットで2n通り。8ビット=1バイト=256通り。
- 2進→10進は「位の重みの合計」、10進→2進は「2で割った余りを下から読む」。
- 16進数1桁は2進数4桁(4ビット)に対応する。
- 単位はB→KB→MB→GB→TBの順に大きくなる。
練習問題
- 2進数 10110 を10進数に変換しなさい。
- 10進数 45 を2進数に変換しなさい。
- 3ビットで表せる情報は何通りか答えなさい。
- 16進数 1A を10進数に変換しなさい。
解答・解説
- 解答:22
解説:位の重みは左から16・8・4・2・1。1が立つのは16、4、2の位なので 16+4+2=22。 - 解答:101101
解説:45÷2=22余り1、22÷2=11余り0、11÷2=5余り1、5÷2=2余り1、2÷2=1余り0、1÷2=0余り1。余りを下から読むと101101。検算: 32+8+4+1=45。 - 解答:8通り
解説:23=8。000から111までの8通り。 - 解答:26
解説:Aは10を表す。1×16+10=26。