コンピュータの世界は2進数と16進数で成り立ってます。

こんにちわ。

コンピュータは、ご存じのとおりデジタル機器です。

コンピューターの世界では2進数と16進数で表現されることが多いです。

スポンサーリンク
スポンサーリンク




2進数について

2進数(二進法)ですが、英語ではbinaryといいます。

カタカナで書くと「バイナリー」ですね。

よく、コンピューターの世界では「バイナリーデータ」という言葉が出てきます。

人間が読むことができるデータに対して、コンピューターが理解できるデータ群のことをよく「バイナリーデータ」と言います。

2進数の世界ではオンとオフしかないので、使われる記号も1と0しかありません。

信号があるかないのか。。。それしかないのです。

単純な表現方法なんですが、複雑なデータを表そうと思うと大量の数字の羅列になってしまいます。

人間がそれを理解しようと思うと大変なことになりますが、もともとコンピュータは単純な情報を高速に処理するために生まれてきたようなものですし、あいまいな情報を処理するのは逆に苦手なんですよ。

なので、2進数のような何かを表そうとすると大量のデータになるけれど、基本が単純なものの方がコンピュータは理解しやすいんです。

16進数について

とは、いうもののこのままでは、人間とコンピュータは理解しあうことができないわけです。

人間が理解する側面と、コンピュータが理解する側面をどこかで近づけてあげないといけないわけです。

そこで、2進数を一定の長さで区切ってみることにしました。

とりあえず、4桁で区切ってみます。

1111

これは、10進数で言うと15です。

かと言って、3桁で区切ると

111

これは、10進数で言うと7ですね。

どっちがいいのかは、わかりませんが、とりあえず4桁の方が区切りがよさそうです。

10進数で0から15の16個の記号を1ケタで表せば、人にとっても取扱いしやすくなりそうですよね。

なので、10~15までの記号としてアルファベットの「A,B,C,D,E,F」を割り当てて1ケタで表すことができるようにしたのが16進数です。

要は15(つまりF)まで数えたら、1ケタ上がるものが16進数です。

たとえば、2進数で

1011111101010001

というデータを4つづつに区切ると

1011/1111/0101/0001

となり、それを16進数で表すと

BF51

となるわけです。

どうでしょうか?

これなら、読みやすくなった気がしませんか?(笑)

ここで16進数について改めて整理しますと、

16進数とは、16を底とする位取り記数法である。
一般には、16個の数字 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F を用いる。A から F は、それぞれ十進での 10 から 15 を表す。

です。

表記法について

ところで、

2進数の  1001 と、

10進数の 1001 と、

16進数の 1001

って同じ記号の並びですが、表している数字はそれぞれ異なりますよね。

10進数に変換すると上から順に

1001

4097

になります。

並んでいる記号が何進法で書かれているかがわかるように表記法というものがあります。

表記法はその用途によって色々あるので特に覚えなくてもいいと思うのですが、たとえば

16進数の1234は、0x1234と表記します。

また、1234h といった表記もあります。

2進数の1010の場合ですと、0b1010と表記します。

ただし、2進数も16進数もデジタルやコンピュータなどのハードよりの話だと思ってください。

ソフトウェアだとかプログラミングの世界では、人間がわかりやすいように、普通に10進法が使えますので、特殊な条件下でしか、2進数や16進数を意識しなくていいと思いますよ。

最後までおつきあい、ありがとうございました。

スポンサーリンク
スポンサーリンク




スポンサーリンク




シェアする

  • このエントリーをはてなブックマークに追加

フォローする