ども。毎度毎度失礼します。この回が終了した後にはC言語の記述の仕方について、教える形になると思います。
それでは今回もよろしくお願いします。
まず初めに、コンピュータの世界で使われているのは1,2,3,4,5,6,7,8,9,10と言った数ではない。
使われているのは1、10、11、100、101、110、111、1000と言った数である。
そもそもの数について勉強しよう。
普段から使っている数は10進数と呼ばれる。これは10の何乗かによって位を変えていく数の数え方である。
ところで、10は10の1乗である。当然である。100は10の2乗である。これも当然である。
さて、小学校の時に習った位の数え方は右から「1の位、10の位、100の位」である。この「~の位」の「~」の部分が10の何乗かのときの数え方を、10進数と呼ぶのである。
この段階では理解するも何も、知っている知識に少しプラスする段階である。
では別の種類へと移ろう。
この「10の何乗か」の部分を「2の何乗か」に変えてみるとしよう。そのまま10⇒2となって2進数の出来上がりだ。
では位の数え方も確認してみよう。
10進数のときは「1の位、10の1乗の位、10の2乗の位」となっていた。2進数はそのまま2に変えるだけ。
「1の位、2の1乗の位、2の2乗の位」となる。
計算は簡単だろう。2の1乗⇒2であり、2の2乗⇒4である。
だが、難しいのはここからである。位を進めるということを理解する段階である。
位を進めるということはどういうことだろうか。
それは、1の位では数えられなくなったのでお隣の位へ広げるということである。
広げたおかげで数えていた1の位は0に戻すことができる。
これが数の数え方である。難しく説明するとこんなことになる。最悪である。
いよいよ、2進数における数の数え方を説明する。
10進数で0は2進数でも0である。1は2進数でも1。問題は次。
2は2の1乗であるため、位を変える必要がある。
というわけで基本的な数の数え方と同じことをやろう。
つまり、隣に広げてしまうのである。よって出来上がる2進数の2は10。
どんどんやっていこう。
3のときは先ほど数えていた1の位が空いているため、そこを使用して11。
4のときは位を変える必要があるため、隣へ広げて100。
5のときは1の位がまた空いたので101。
6のときは2の位が空いているので111……とはならない。
なぜか? それは1の位でもう数えられないからである!
2進数の世界には0と1はあるが、位を変えてしまったため2が存在しない。
そのため、隣で数えるのではなく、1の位では数えられないということから隣へ広げることをする。
そうしてできあがる6は110。7は111。位が広がる8は1000。という具合に続いていく。
機械的な方法では「右から1を詰めていき、詰まったら左へ1をずらし、右の1を0に変えると繰り返す」である。
少々長くなったが、以上で2進数の説明は終わることにする。
実はコンピュータの世界では2進数だけで全てを扱っているわけではない。
2進数が基本的にあるため2進数さえわかっていれば、他のものはきっとラクに理解できる。
というわけで次回はプログラムを書いていこう。
それでは今回もよろしくお願いします。
まず初めに、コンピュータの世界で使われているのは1,2,3,4,5,6,7,8,9,10と言った数ではない。
使われているのは1、10、11、100、101、110、111、1000と言った数である。
そもそもの数について勉強しよう。
普段から使っている数は10進数と呼ばれる。これは10の何乗かによって位を変えていく数の数え方である。
ところで、10は10の1乗である。当然である。100は10の2乗である。これも当然である。
さて、小学校の時に習った位の数え方は右から「1の位、10の位、100の位」である。この「~の位」の「~」の部分が10の何乗かのときの数え方を、10進数と呼ぶのである。
この段階では理解するも何も、知っている知識に少しプラスする段階である。
では別の種類へと移ろう。
この「10の何乗か」の部分を「2の何乗か」に変えてみるとしよう。そのまま10⇒2となって2進数の出来上がりだ。
では位の数え方も確認してみよう。
10進数のときは「1の位、10の1乗の位、10の2乗の位」となっていた。2進数はそのまま2に変えるだけ。
「1の位、2の1乗の位、2の2乗の位」となる。
計算は簡単だろう。2の1乗⇒2であり、2の2乗⇒4である。
だが、難しいのはここからである。位を進めるということを理解する段階である。
位を進めるということはどういうことだろうか。
それは、1の位では数えられなくなったのでお隣の位へ広げるということである。
広げたおかげで数えていた1の位は0に戻すことができる。
これが数の数え方である。難しく説明するとこんなことになる。最悪である。
いよいよ、2進数における数の数え方を説明する。
10進数で0は2進数でも0である。1は2進数でも1。問題は次。
2は2の1乗であるため、位を変える必要がある。
というわけで基本的な数の数え方と同じことをやろう。
つまり、隣に広げてしまうのである。よって出来上がる2進数の2は10。
どんどんやっていこう。
3のときは先ほど数えていた1の位が空いているため、そこを使用して11。
4のときは位を変える必要があるため、隣へ広げて100。
5のときは1の位がまた空いたので101。
6のときは2の位が空いているので111……とはならない。
なぜか? それは1の位でもう数えられないからである!
2進数の世界には0と1はあるが、位を変えてしまったため2が存在しない。
そのため、隣で数えるのではなく、1の位では数えられないということから隣へ広げることをする。
そうしてできあがる6は110。7は111。位が広がる8は1000。という具合に続いていく。
機械的な方法では「右から1を詰めていき、詰まったら左へ1をずらし、右の1を0に変えると繰り返す」である。
少々長くなったが、以上で2進数の説明は終わることにする。
実はコンピュータの世界では2進数だけで全てを扱っているわけではない。
2進数が基本的にあるため2進数さえわかっていれば、他のものはきっとラクに理解できる。
というわけで次回はプログラムを書いていこう。






