IT技術を形成する2進数とは?

2進数について

人間は多様な言語、五感を用いてコミュニケーションを取ります。 言葉はもちろん仕草や表情、声の大きさやトーンなどから、多くの情報を理解し、思考します。一方でコンピュータは「0」と「1」たった2つの信号から、あれほど多くの情報を人間よりもはるかに正確に、そして高速に処理しています。多くの文字や数字も「0」と「1」だけ。

なぜそうなったのか?
重要な4つの技術に沿って、書いていきたいと思います。


コンピュータは2進数と言われる数値を使用して動いています。2進数とは、聞いたことがある方もいるかもしれませんが、使っている人はほぼいないと思います。なぜそんな数値を使用しているのかと言いますと、コンピュータにとって2進数を使用することが最も簡単で便利だったからです。

普段使っているのは10進数と言って0~9までの10種類の数字を用いて数値を表現しています。2進数は0と1だけを用いて数値を表現します。10進数で28という数値を2進数で表現すると11100となります。また、コンピュータと相性がよく、使用されている数値に16進数というものもあります。

16進数は0~Fまでの16種類の数字を使用し数値を表現します。2進数との互換性も高く2進数の4桁を1桁で表現することができます。2進数の1111は16進数のF、11110001 はF1と表現できます。

2進数の

2進数を用いる理由

10進数だった場合、10種類の信号を判別できなければなりません。そのためには10種類の信号を出せなければなりませんし、判断もできなければなりませんし、記憶もしなければなりません。

しかし2進数であれば0と1しかないので、あるかないかで判断ができます。電圧がONかOFFか微妙な違いも生じない、単純でわかりやすいものであるため、非常に正確に動くことができます。

2進数を用いる重要な技術

パーミッション

パーミッションとは権限を表す情報です。所有者、グループ、その他のユーザの3種類の立場における、権限の範囲をr(読み取り)、w(書き込み)、x(実行)の3つ行動で権限があるのかないのかを表しています。1が権限あり、0が権限なしとなっているため、7(111)であれば読み取り、書き込み、実行の全てができるということになります。

例えば、755(111 101 101)と表記されていた場合所有者は読み取り、書き込み、実行の全てができる。グループ内のユーザは読み取りと実行ができて、書き込みのみできない。その他のユーザも同様に読み取りと実行ができて、書き込みのみできない。ということになります。

よく使用されるものとしては、上記755(111 101 101)や所有者に読み込み、書き込みを許可し、グループ・その他のユーザに対しては読み取りのみ許可をする644(110 100 100)などがあります。

文字コード

コンピュータは0と1の羅列で情報を理解しているため、言葉や数字、記号を入力すると、0と1の並びに変換して、コンピュータに記憶しています。では「0」と「1」でどうやって膨大な数の数字・文字を表現しているのでしょうか?

実は数字・文字などには1つ1つすべて、2進数の数字が割り振られています。種類により異なりますが、多いものでは2^16(=65536)通りあるため、割り振ることが出来ます。

最も基本的な文字コードにアスキーコードと呼ばれるものがあります。キーボード上にある数字、アルファベット、記号がどんな数字で表現されるのかを記録している対応表になるものがアスキーコード(ASCⅡコード)です。アスキーコード(別名:1バイト文字)の他に、Shift-JISと呼ばれるのもがあり、アスキーコードの文字に加え、日本語の文字を加えたものがこれになります。日本語のWindowsでもこのコードが採用されています。

また、アスキーコードの文字に加え、世界中の文字を加えたものがUTF-8になります。アスキーコードとの互換性も高く、多くのソフトに使われているため、世界基準の文字コードとなります。Shift-JIS、UTF-8の2つは日本語に対応していて別名2バイト文字やマルチバイト文字と呼ばれています。

しかしShift-JISやUTF-8など、コードが複数存在することで弊害もあります。 たとえばShift-JISをUTF-8で読み取ってしまった場合は、文字化けが発生してしまいます。対応してない文字には変な記号が割り当てられてしまったり、読めるような状態でない場合があります。

色の表現方法

コンピュータ上で色は、光の3原色(赤、緑、青)のそれぞれの濃さを変えることで、様々な色を表現しています。それぞれの色は0(薄い)~255(濃い)で調整でき、255の場合16 進数で「FF」と表記されます。

例えば、(FF、00、00)の場合は赤、(FF、FF、00)であれば黄色、(00、00、00) の場合は黒、(FF、FF、FF)の場合は白になります。 赤、緑、青を255段階の様々な濃さでそれぞれを混ぜ合わせることで、多くの色を表現しています。

IPアドレス

IPアドレスとはインターネットやLANなどIPネットワークに接続されたコンピュータに割り振られる識別番号のことです。IPネットワーク上の住所のようなものと考えて良いと思います。

IPアドレスは2進数表記だと、32ビットで表記されます。ただ人には2進数はわかりにくいため8ビットずつで「.」で区切って10進数で表記されます(例えば「192.168.32.4」など)。32ビットということで、2^32(=約43億)のIPアドレスが存在することになります。

現在IPアドレスはIPv4とIPv6の2種類があります。ネットの普及により、利用者が急増し、割り振られるIPアドレスが足りなくなってきた。その際に作られたのがIPv6です。そのため企業や一般家庭で最も使用されているIPアドレスはIPv4になります。

ほぼすべての企業・人がインターネットに接続できる時代に、43億では足りないということでできたのがIPv6になります。IPv6はIPv4の4倍となる128ビットで構成されていて表記も異なり、10進数でなく16進数で表記されます。また区切りも8ビットごとに「.」ではなく16ビットごとに「:」で区切られています(例えば「2001:0db8:1234:5678:90ab:cdef:0000:0000」など)。

コンピュータにとって簡単で便利な2進数、16進数。2進数は0と1しかないため、非常に桁が大きくなり、スペースをとってしまいがちです。膨大な記憶が可能なコンピュータは問題ないかもしれませんが、人には見づらいです。

そのため、表示される際には人間にわかりやすい10進数(もしくは2進数と互換性の高い16進数)ですと非常にコンパクトで、すっきりします。コンピュータと人間、両者を繋ぐのが2進数になります。

2進数や16進数などを知っておくと、数字の羅列やアドレスを理解できたり、 例えば文字化けなどのトラブルの際は意味が分からない現象として捉えるのではなく、コンピュータがコードを勘違いしているんだなと理解できるようになります。

そのため2進数を理解できるようになることで、今後コンピュータに親しみが持てるきっかけになるかもしれませんよ!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です