| チェックポイント 今回はプログラムの話をお休みして数値についてお話します。 これはプログラムを作るときに最低覚えておかないといけないことなので簡単に説明したいと思います。 |
【10進数について】
我々が使う数値には整数や実数があります。
そしてその殆どが10進数です。
あまりにも当たり前なのでピンとこないかもしれません。
要するに・・・
0
1
2
3
4
5
6
7
8
9
10
このように10で桁上がりするものを10進数といいます。
【2進数について】
コンピュータは実を言うと10進数を使っていはいません。
人が10進数を使うようになったのにはいろいろな説がありますが、
たぶん人間の指の数が片方に5本、合わせて10本だったからだと思われます。
物の数を数える必要があった人類は最初に自分の指を使って数を数えたと思います。
もっとも簡単な方法は物を数えるたびに一本ずつ指をまげて数えれば両腕で10個まで数えることができます。
しかし10個以上数えるためには指が足らないわけで・・・
そこで10個数えたらたとえば石を一個目の前に置けば次の10個を数えることができるわけです。これが桁上がりに当たるわけです。
ところがコンピュータ(正確に言うと現在のデジタルコンピュータ)はすべての信号をデジタルで扱っていてこのデジタル信号はL(低電圧、通常は0V)とH(高電圧、これは現在1Vから5Vまで様々です)の2つの状態で表されます。
要するに電気が通っているかいないか、スイッチが押されているかいないか、ランプが点いているかいないかなどの0か1の2つの値しか扱っていません。
そうなると数を数える際に10進数では一桁で0から9まで数えることができますが、コンピュータは一桁で0から1までしか数えることができないのです。
だから1まで数えたら2で桁上がりしなければなりません。これが2進数です。
では10進数で15まで数えてみます。
10進数 2進数
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111
となります。
実はこの2進数を前回のプログラムは使っていたのです。
どこで使っていたか分かりますか?