【はじめに】
今回のテーマは、「2進数」です。
普段、私たちが使っているものとは異なる数値表現を、コンピュータを扱ううえで、必要になる(かもしれない)、概念をとらえてみようと思います。
【どんな時に2進数は使うのか】
最初のうちはあまり使わないはずです。
2進数を使うのは組込プログラミングやネットワーク技術を扱う場合が多いです。それらの際は重要度が上がってきますが、プログラムをこれから始める方にとってはそれほど気にする必要はないものと言えます。
しかしながら、コンピュータはデータを2進数で扱っているので、所々でその考え方が見え隠れする場合があるのも事実です。
ちょっとした知識としてこれくらいは知っておいたらいいだろうという2進数の考え方を扱ってみることにします。
【普段使っている数値】
普段人間が使っているのは10進数で表現された数値です。
0~9までの10種類の数字を使って数値を表現します。
具体例として
1234という数値を分解してとらえてみると、
10の3乗(1000)の位が1個
10の2乗(100)の位が2個
10の1乗(10)の位が3個
10の0乗(1)の位が4個、が足された数と考えることができます。
【参考1】1234を10進数で表現した場合
1000の位 (10の3乗) |
100の位 (10の2乗) |
10の位 (10の1乗) |
1の位 (10の0乗) |
---|---|---|---|
1000が1つ | 100が2つ | 10が3つ | 1が4つ |
1 | 2 | 3 | 4 |
これを参考にして2進数をとらえてみましょう。
【2進数で表現された数値】
2進数とは、2種類の数字を使って数値を表現する方法の事です。
具体的には0と1だけの数字を使って数値を表現します。
1101という数字は
2の3乗(8)の位が1個
2の2乗(4)の位が1個
2の1乗(2)の位が0個
2の0乗(1)の位が1個、が足された数と考えることができます。
2進数で1101と表現された上記の数値は、
10進数で考えると8+4+1で「13」となります。
【参考2】13を2進数で表現した場合
8の位 (2の3乗) |
4の位 (2の2乗) |
2の位 (2の1乗) |
1の位 (2の0乗) |
---|---|---|---|
8が1つ | 4が1つ | 2が0こ | 1が1つ |
1 | 1 | 0 | 1 |
【その他、n進数に対応する場合】
10進数と2進数の2つの例を見てきましたが、n進数であっても考え方は同じです。
(nには何らかの整数が入り、具体例としては8進数や16進数などがあります)
n進数のnに当てはまる数字の0乗から右端の桁が始まり、左の桁に進むにつれて、1乗、2乗と桁の値が増えていく点を把握しておきましょう。
これを把握していれば、その他のn進数の表現にも対応可能です。
【おわりに】
今回扱った内容を把握しておけば、入門書などで簡単に扱われたりする2進数は理解しやすくなります。
基本的にプログラムを始めた方はこれぐらいを把握していれば問題ないですが、さらに必要になった際はこの土台を思い出しつつ、調べてみてください。