科学館を利用する > 展示ガイド > 展示フロアマップ > 二進法のしくみ
私たちは、0から9までの10種類の数字を使って数を表す「十進法」を使っています。これに対して、コンピュータの原理は電気信号のオフとオンにあたる0と1だけを使う「二進法」が基礎になっています。この展示品では、十進法と二進法について体験しながらわかりやすく解説しています。
□ビット
コンピュータの内部では電気のONとOFFを利用しています。ONに「1」、OFFに「0」を使うことで数字を表しますので、二進法で動いている、とも言えます。二進法とは、二種類の文字(この場合は「0」と「1」)だけを使って数字を表す方法です。このケタ数のことを「ビット」と呼びます。最初のころのコンピュータは、ケタ数はすなわち配線の数だったので、多くのケタを扱うには多くの配線が必要でした。1980年代半ばにパーソナルコンピュータ(パソコン)が普及しはじめたとき、そのコンピュータの中央演算装置(CPU)は8本の配線を使った8ビットコンピュータから、ようやく16ビットコンピュータへと進化していきました。
□十六進法
二進法は、コンピュータには都合がいいのですが、大きな数を表そうとするとケタ数がたくさん必要です。たとえば0から1023までを表すと「0」から「1111111111」となり、10ケタつまり「10ビット」も必要なのです。これでは人間にとっては不便です。そこで、十六進法が使われるようになりました。これは「0」から「9」までと、「A」から「F」までの合計16種類の文字を使って数字を表す方法です。たとえば、9に1を足すと「A」、さらに1を足すと「B」と表します。どんどん足していって「F」まで行くと、その次は「10」になります。わたしたちが普段使う十進法では十ですが、十六進法の「10」は十六なのです。頭に「0x」を付けて、まちがえないようにすることもあります。たとえば「0x36」は、十六進法の「36」であり、十進法では五十四です。十六進法で2ケタつまり「0x0」から「0xFF」ですと、十進法では0から65535を表すことができます(表1)。
□バイト
16進数と二進数は相性がよく、二進数4ケタが、ちょうど16進数の1ケタで表されます。たとえば、二進数の「10110101」は最初の「1011」が16進数で「B」、あとの「0101」は16進数の「5」ですから、「0xB5」となります。こうしてまとめて表すと便利なので、8ケタつまり8ビットごとにまとめて扱うようになりました。これを「バイト」と呼びます。
□CPU
CPUのビット数は、一度に扱える数字の大きさを意味します(表1)。8ビットのコンピュータでも、256より大きな数字を計算できますが、それにはプログラミングでいろいろなしかけが必要になってきますので、大きな数の計算はどうしても時間がかかってしまいます。ビット数が多ければ多いほど、しかけ抜きで直接計算できるので速いコンピュータである、といえるのです。現在は、32ビットから64ビットへと変化している時代です。これからどこまで速くなるのでしょうか。
<表1:数の表し方の例>
十進法 | 二進法 | 十六進法 |
---|---|---|
0 | 0 | 0 |
50 | 110010 | 32 |
255 | 11111111 | FF |
1024 | 10000000000 | 400 |
65535 | 1111111111111111 | FFFF |
ビット数 | 扱える数 |
---|---|
8 | 0から255まで |
16 | 0から65535まで |
32 | 0から約42億まで |
64 | 0から約1844億の1億倍まで |
□著者 学芸員 小塩哲朗