ITの世界では日々新しい技術が開発されるので、常に学び続けなければなりません。それに従い、学んだ技術が使えなくなることもあるのです。
ただし、コンピュータサイエンスの基礎に関しては、コンピュータを利用して技術が開発される限り、廃れるものではないので理解しておくと長期的に活用できるものだと思っています。
今回は情報処理でよく使われるn進数についてというテーマで紹介します。
また、今日紹介する内容はこちらの本を参考にアウトプットさせていただいています。
情報処理でよく使われるn進数とは
前回、n進数についての解説記事を書きました。
[kanren postid=”3907″]その中で、ぼくたちが普段利用しているのは10進数、コンピュータの世界で利用されているのは2進数であると説明したのですが、その他にも情報処理の世界でよく使われるn進数があります。
それが、8進数や16進数です。
コンピュータの世界は基本2進数だけじゃないの?と思っていた方にはこれら8進数や16進数を利用する意味がわかりませんよね?
基本、コンピュータの世界では2進数を利用しています。
しかし、0と1しか使えない表記で常に数を表現していたらいちいち桁数が大きくなって仕方がない。
したがって、ある程度まとまった区切りの数を一桁であらわすことができてかつコンピュータと相性が良いn進数表記が必要になります。
それが8進数と16進数になるわけです。
そして、なぜこれらがコンピュータと相性が良いかということに関しては、「8は2³」、「16は2⁴」というところにヒントが隠されているのですが、詳しくは基本の2進数で表す数値から説明していきます。
2進数で表す数値
2進数の2は「桁上がりする数」を表しています。
つまり、2になるごとに桁上がりするのです。そして、これと同時にこの2は「使える数字の数」を表します。
2進数なら0~1の2つの数字を使って2になるごとに桁上がり。ぼくらの普段使っている10進数なら0~9の10の数字を使って10になるごとに桁上がりしていきます。
2進数の進み方
2進数で数を数えたとき、それぞれの数値は以下の書き方になります。
8進数と16進数であらわす数値
8進数や16進数も基本は同じ。
8進数なら0~7の8種類の数字を使って8になるごとに桁上がり。
16進数なら0~9、A~Fの16種類の数字と記号を使って16になるごとに桁上がりしていきます。
16進数では0~9、A~Fと変化するだけで、使える数字の数で治り切らなくなったら桁が上がることに違いはありません。
8進数の進み方
8進数で数を数えたとき、それぞれの数値は以下の書き方になります。
7→10、77→100といった感じで、0~7で表現しきれなくなると桁上がりします。
したがって、次の桁上がりは777→1000ですね。
16進数の進み方
16進数で数を数えたとき、それぞれの数値は以下の書き方になります。
F→10、FF→100といった感じで、0~Fで表現しきれなくなると桁上がりします。
したがって、次の桁上がりはFFF→1000ですね。
8進数と16進数がコンピュータと相性のよい理由
8進数と16進数がなぜコンピュータの相性がいいかというと、1つの桁で2進数3桁分、4桁分の情報を表現できるからです。
まず、8進数は、1つの桁で0~7の数値を表現するので、2進数にすると次の範囲に相当します。
つまり、1つの桁で000~111の2進数3桁分の情報を表現できるということです。
次に16進数は1つの桁で0~15の数値を表現するので、2真数にすると、次の範囲に相当します。
つまり、1つの桁で0000~1111の2進数4桁分の情報を表現することができるということです。
そして、2進数の1桁は電球1個分、1ビットに相当するので、8進数は3ビット、16進数は4ビットの情報を一桁で表現できるということになります。
昔のコンピュータは3の倍数ビット数(12ビット、24ビット)で処理するのが珍しくありませんでした。また、今のコンピュータは4の倍数ビット数(32ビット、64ビット)で処理するのが普通なのです。
したがって、各桁ごとに情報を3ビット単位でまとめられる8進数、4ビット単位でまとめられる16進数がよく利用されてきました。
以上の理由から、8進数と16進数がコンピュータとの相性が良いと言われており、情報処理でよく用いられるのです。
最後に
本日はよく使われるn進数についてというテーマでお送りしました。
冒頭でも紹介しましたが、今回の内容に関しては以下の本で学ばせてもらったことを参考にアウトプットさせていただいています。
こちらは基本情報技術者試験の参考書となっていますが、ITサイエンスの基礎を学んでいく上でおすすめの本です。
p>Amazon内の評価も高く、他にも参考書はありますが、文章メインではなくイラストが多用されているので、特に初学者の方にはとっつきやすく理解しやすいと思います。
ぼくもこの本にかなりお世話になっていて、おすすめできる書籍となっているので気になる方はぜひ手にとってみてください。
それでは本日はありがとうございました。
今日も頑張ります。
[kanren postid=”3894,3907″]