コンピューター関係では、普段の生活で使う10進数の他に、2進数と16進数がよく使われます。(8進数もありますが、8進数を見る機会は少ないですね)
ここでは、2進数と16進数を中心に、なんちゃら進数について解説したいと思います。
○○進数とは?
普段の生活で使う10進数は、数が10の倍数に達すると桁が1つ増えます。例えば、1,2,3…9までは一桁で、10になると二桁になります。そして、100(10×10)、1000(10×10×10)と桁が増えていきますね。
言い方を変えると、数を表す要素が10個で構成される進数とも言えます。
0,1,2,3,4,5,6,7,8,9の10個ですね。
0から順番に使っていき、最後の9まで使いきると、次は桁が増えるわけです。
10進数以外の進数もルールは10進数と同じです。例えば2進数だと、2の倍数で桁が増える、または数が0,1の2つしかない、と言うわけです。
いろんな進数の例を挙げてみました。
![10進数、2進数、5進数、8進数、16進数の具体例](https://ityorozu.net/wpprod/wp-content/uploads/2022/01/image.png)
16進数の場合は数が16個必要なので、普段我々が使っている数字の他に、a,b,c,d,e,fとアルファベットを使って表現します。
大文字が使われる場合と小文字が使われる場合がありますが、どちらも意味は同じです。
2進数とは?コンピューターにとっての標準進数。
コンピューターの内部では、全て2進数で処理がされています。
コンピューターは、膨大な数のON/OFFスイッチの集合体です。無数のスイッチを切り替えることで挙動を変え、様々な演算を処理しているわけです。
電気の通電状態がON(1)で、通電していない状態がOFF(0)となり、全て0,1の組み合わせで動いています。
そんなわけで、2進数はコンピューターの挙動をそのまま表現できる、コンピューターにとって親和性の高い表現なのです。桁が多くなるので人には読みづらいですが。
普段の生活では、2進数の利点はあまりないかもしれないですね。
強いてあげるとすると、片手5本指で31まで数えることが出来るくらいでしょうか。ちなみに両手だと1023まで数えられます。
あとは、桁が増える毎に数が2倍になるという特性があるので、何か面白い使い方があるかも知れないですね。
16進数とは?人間も読みやすいバランスのとれた進数。
2進数と並んで、16進数もコンピューターの世界ではよく使われています。
コンピューターの内部に最も近い表現は2進数ですが、2進数は桁が多く、人にとってはあまりに読みづらい。そこで、2進数と同じく2の倍数で、かつ、少ない桁で数が表現できる16進数が重宝されるわけです。
2の倍数だとなぜ都合が良いかというと、2進数への読み替えがしやすい事や、コンピューターの単位であるバイトを表現しやすいからです。
この表を見てください。
![2進数、10進数、16進数で2の倍数を並べたもの](https://ityorozu.net/wpprod/wp-content/uploads/2022/01/image-1.png)
2進数と16進数の桁の増え方に規則性がありますね。2進数で桁が増えるときには、16進数もきりの良い数字になります。
これはどちらも同じ2の倍数だからですが、この規則性から、2進数、16進数は相互の読み替えが簡単で親和性が高いと言えます。
ちなみに、8進数も2進数と親和性が高いためにコンピューターで使われる進数ですが、16進数よりも使われる機会は少ないです。
より少ない桁で表現できる16進数の方が使いやすいためでしょうか。あとは、8進数にはアルファベットが入らないので、パッと見で10進数との見分けが付きにくいというのもあるかも知れません。
進数毎の表現ルール
何進数の数字なのかを区別するために、進数毎に表現のルールがあります。
![進数ごとの表記ルール](https://ityorozu.net/wpprod/wp-content/uploads/2022/01/image-2.png)
必ずこのルールで表記しなければならない、というものではなく、いろんな表記法がありますが、この表記法が良く使われていると思います。
コメント