
小学生の時に算数で習う2進数ですが、習ったっきり特に日常生活で使うこともなく、忘れてしまっている人もいるのではないでしょうか。2進数は、普段の生活の中で私たちが使用することは、ほとんどありませんが、コンピューターが計算をする時には、2進数を使っています。今回は、そんな2進数について解説していきます。
- 2進数とは
- 2進数の計算
- コンピューターと2進数
- まとめ
2進数とは
普段、私たちが数字を数える時、1, 2, 3, … 9 と数えた後に、9の次は桁が一つ上がって10と表されます。
これは、10ごとに桁数が上がっていく10進数の特徴です。
10進数では、使う数字の種類は10種類あります。
一方で、2進数では、使う数字は2種類となり、0, 1 と数えた後に、1の次は2にはならず、10と表されます。
2進数では、2ごとに桁数が上がっていきます。
0から8までの数字を10進数で表した場合と2進数で表した場合を比較すると、下の表のようになります。
10進数 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
2進数 | 0 | 1 | 10 | 11 | 100 | 101 | 110 | 111 | 1000 |
2進数の計算
2進数での数字の計算方法をご紹介します。
まずは、わかりやすい足し算についてです。
2進数と言っても数字の表記が異なるだけなので、足し算は10進数と同じように行うことができます。
例えば、4+7 は、それぞれ2進数に直して 0100 + 0111 となります。
この場合、3桁目の部分で繰り上がりが発生するので、結果は 1011 となります。10進数に直すと 11 になります。
次に引き算をご紹介します。
コンピューターの世界には、引き算という概念はありません。
そのため、引き算をする時には、マイナスの数字を足し算するという処理を行います。
例えば、7-4 の場合は、7+(-4) という計算を行うことになります。
2進数でマイナスを表現する時には、2の補数というものを使います。
2の補数は、正の2進数の桁を全て逆にしたものに1を足すことで求めることができます。
先ほどの例で言うと、-4 は 4 をまず2進数で表して0100、これの桁を逆転させて 1011、さらに1を加えて1100が-4を表す2進数となります。
そのため、7-4は、0111 + 1100 となり、結果は 0011 で10進数に直すと3になります。
これ以外に掛け算と割り算もありますが、掛け算は足し算をループして、割り算は引き算をループして答えを求めることができます。
コンピューターと2進数
具体的にコンピューターが、どのように2進数を扱っているかご紹介します。
コンピューターで2進数を表す時には、スイッチのONとOFFを使っています。
電圧が強いか弱いかをコンピューター内で計測することで、0と1の2通りの数字を表現することができています。
また、コンピューターでは、2進数の桁のことをビットと呼びます。
例えば、01なら2ビットですし、1101なら4ビットとなります。
そして、8ビットをまとめて1バイトと呼びます。
HDDの容量などで、○GB (ギガバイト) など聞いたことがあるかもしれません。
G (ギガ) というのは、10億を表す数字なので、200GBというのは、2000億バイト分のデータを保存する容量があるという意味になります。
HDDについては、こちらやこちらの記事でご紹介しておりますので、ぜひこの機会に読んでみてください。
まとめ
2進数という数字は、普段の生活では全く使うことはありませんが、コンピューターが内部で扱っているのは、この2進数になります。
パソコンでもスマートフォンでも、ネットワーク機器でもゲーム機でも、全てこの2進数を使って動いています。
2進数を学んでおくことで、コンピューターの動きのイメージがつきやすくなるかと思いますので、ぜひ今回の内容を元にコンピューターの仕組みを勉強してみて下さい。