コンピューターと二進数
10進数のおさらい
日頃なにげなく使っている10進数を考えてみましょう。
たとえば、「3776」という数字を調べてみると、
3776 = 3000 + 700 + 70 + 6
= 3×1000 + 7×100 + 7×10 + 6×1
= 3×103 + 7×102 + 7×101 + 6×100
と書き表すことができます。
位 | 103 | 102 | 101 | 100 |
---|---|---|---|---|
数字 | 3 | 7 | 7 | 6 |
10進数では、位取りの0(ゼロ)と1,2,3,4,5,6,7,8,9の全10種類の数字を並べるだけで、どのような数字でも表すことができます。
このように、n種類の文字と位取りの概念を用いて数を表す方法を「基数法」と呼びます。
10進数は基数を10としたときの数の表し方です。
同じ数でも基数が変われば、表記も変わります(後述)。
ちなみに、なぜ十進数が広く使われているのかというと、人間の指が10本で数えやすいからです。
10進数が発明される以前から人間は数を数えてきたので、いつの間にか10単位でものを数えることが慣習となっていったのかもしれません。
二進数とは
二進数は、2を基数とした基数法で0と1を使って数を表します。
最下位の桁から順に、20(2の0乗)、21(2の1乗)、22(2の2乗)、・・・と続いていきます。
各桁の10進表記での意味は次の表のとおりです。
2進数 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
---|---|---|---|---|---|---|---|---|
10進数 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
この表にしたがって10110101という二進数を10進数で表してみましょう。
※二進数であることを明確にするときは、10110101(2)と書きます。
2進数 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 |
---|---|---|---|---|---|---|---|---|
10進数 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
求める数 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 |
「求める数」の1の部分だけを足すと、
128 + 32 + 16 + 4 + 1 = 181
つまり、10110101(2)を10進数で書き表せば、181になります。
言い返せば、10進数の181を二進数に直せば、10110101になります。
コンピューターの仕組み