ネットワークの基礎を勉強

【具体例あり】2進数と16進数の違い・変換方法とは?16進数は人間に優しい表記法

2018年7月9日

2進数と16進数ってなんでしょう?違いや変換方法を教えて下さい!

 

そんな疑問にお答えします。

 

本記事の内容

・進数とは?2進数と16進数の違い
・2進数から16進数への変換方法

 

 本記事の信頼性

ネットワークやコンピュータの世界では、「2進数」「16進数」と言った独特の数値が出てきます。普段の生活で使う数(10進数)とは扱いが違うため、苦手に感じている人も多いことでしょう。でも実は、16進数はコンピュータだけでなく、人間にとっても優しい表記法なのです!今回は、2進数や16進数とは何物なのか?なぜ使用するのか?変換方法は?などを解説していきます。

 

※2進数・10進数・16進数の対応表を見たい方はコチラ

 

コンピュータが扱うデジタルデータは0か1で表されている

 

おれしばさん!なんかコンピュータの勉強をしていると、「2進数」とかってのが出てくるんですよね。
3は11だの、10は1010だの…まったく訳が分からなくて…

 

まぁ普段の生活ではそう使うことはないからなぁ。混乱するのも無理はない。
とは言え、コンピュータやネットワークを深く知るためには、2進数は避けて通れないもんや。

 

ですよね。なので放り投げてしまうわけにもいかず困ってるわけです。
そもそも、なんで普通の数字を使わないんですかね?コンピュータって計算得意なのに…

 

ふむ、2進数とはなにかということについて、解説するとしようか。

 

ぜひよろしくお願いします!

 

2進数とは何か

 

まずは2進数の表記方法を説明しよう。
2進数は、数値のすべての桁を1か0かで表記するんや。

 

1か0か…すべての桁を…

 

普段の生活で使っている数え方はいったん忘れ、まずはそこだけ理解しておくと良い。

  • 2進数に出てくる数字は1か0のみ
  • 1に1を足したときに桁が繰り上がる

 

10になっちゃうんですか?

 

ここで「10=十」と考えてはいけない。あくまで「10(イチ・ゼロ)」と理解しておくように。

 

1に1を足して、2になるタイミングで桁が繰り上がる。だから2進数なんや。

 

ここで普段使っている数字と関連させながら解説しよう。
まず、2進数の1(イチ)は、1や。普段使ってる1とまったく同じ意味の1である。

 

ここに1を足す。通常の世界ならば2やな。2は2進数の世界は10(イチ・ゼロ)となる。

 

2になるタイミングで、桁が上がったわけですね。

 

そのとおり、そこにさらに1を足すと?

 

3…ですよね。

 

せやな。普段の数字ではそうや。2進数では、10に1を足すので、3は2進数では11(イチ・イチ)になる。

 

な、なるほど、11(イチ・イチ)で3か…

 

そこに1を足すとどうなる?

 

えっと…一桁目の1に1を足すから繰り上がる。あ、でも二桁目も1だからそこも繰り上がる…
だから…4は100(イチ・ゼロ・ゼロ)…ですか?

 

そのとおり!

そこから10まで数えると…

 

 

なるほど、だから10進数の10(十)は1010(イチ・ゼロ・イチ・ゼロ)なのか!

 

 

そもそも「進数(進法)」とは何か

ここでちょっと脱線するが、さっきから何度か言っている「普段の数字」は、何進数か知っているかな?

 

「10進数」ですよね。あんまりそういう名前では意識していないですが。

 

そう、正解。10進数や。この「進数」やが、数学的には「進法」と呼ばれるもので、数値の表記方法のことや。

  • 10進数は、数字を0~9で表し、10になるときに桁が繰り上がる
  • 2進数は、数字を0~1で表し、2になるときに桁が繰り上がる

 

そして、繰り上がった桁は、前の桁の進数倍の大きさを持つ。

 

進数倍の大きさ?

 

難しい言い回しになったが、中身は簡単や。
10進数の「1」と「10」は桁違いの関係やが、この差は10倍やろ?
同じように、10と100の違いは10倍、100と1000の違いも10倍や。
これを2進数で考えると 1の2倍が10、10の2倍が100、100の2倍が1000なんや。

 

おぉ、そういうことなんですね。

 

普段何気なく接している10進数も、ちょっと違って見える感じがするやろ?

 

いつも無意識で扱ってますからねぇ、そう言われればそうか。みたいな。
そうすると疑問なのですが、進数って別に、10進数と2進数だけやなくて良いんですよね?
進数って、他にも種類はあるのですか?

 

3進数だって4進数だって7進数だってある

 

進数の種類など、いくらでもあるで。3進数だって4進数だって、7進数だってありや。

 

え、そんな半端な数字でもありなんですね。

 

やってみるが良い。
先ほどの応用で、それぞれがどんなものかわかるかな?

 

え~っと…

3進数は、数字を0~2で表し、3になるときに桁が繰り上がる。
4進数は、数字を0~3で表し、4になるときに桁が繰り上がる。
7進数は、数字を0~6で表し、7になるときに桁が繰り上がる。

って感じでしょうか?

 

うむ、正解や!では10進数の「20」を、3,4,7進数で表してみよ。

 

ええと難しいぞ…

3進数…202
4進数…110
7進数…26

か。

 

おぉ、合っている。意外と優秀やなしょうたくん

 

意外って…
でも考えるのも書くのもわかりにくいですねぇ。
実際、3進数とか4進数とか、使われる場面あるんですか?

 

うむ、まずない。

 

ええええええええええええ!

 

ちょっと数学の勉強的にやってみただけや。

 

せっかく頑張って書いたのに…

 

ここでコンピュータの話に戻すぞ。

 

コンピュータは「0か1」、2進数の世界!

パソコンやネットワークで扱われるデータやが、最終的には0か1かで表されているのを知っているか?

 

えぇ!?どういうことですか?

 

単純なテキストから、サイズの大きな画像や映像、音声まで、ありとあらゆるコンピュータデータを細かくすると、最終的には0と1の羅列なんや。

 

データの最小単位を0か1かの2つのみとすることで、パターンを限りなく少なくし、結果的にデータの保存性を高めているわけやな。
デジタルデータは劣化しないというのは、こういうところから来ている。

 

ちょっと難しい話ですね。。。

 

とにかく、コンピュータで扱うデータは、最終的には0か1であるということだけ覚えておくが良い。

 

2進数は「コンピュータが理解できる表記」なんですね。

 

そういうことや。

 

実際のプログラムでは2進数は16進数に変換して表記

 

そうは言ったものの、2進数を見て何か気になることはないか?

 

ええと、とにかく桁数が多いです…
コンピュータ的には良いかもしれませんけど、人間的にはツライですよね。読み間違えちゃいそう。

 

そうやろう。ゆえに実際にプログラミングや、機器の設定などの場面においては、2進数は使われていないことが多いんや。
実際は、16進数が使われる。

 

16進数!?…え、でも数字って0~9までしかないのに、それらをどうやって一桁で表すんですか?

 

良いところに気づいたなぁ。そこは数字ではなく、アルファベットを使うんや。

 

16進数とは何か

 

16進数では、0~15までを一桁で表せるよう、10~15にはそれぞれA~Fを当てはめる。

 

10進数の「13」は、16進数では「D」になる…ってことですか?

 

その通りや。

 

これはこれでわかりにくですよねぇ。数字やないものが出てくるなんて。
なぜこんなものが使われるんですか?

 

それは、2進数からの変換の容易性にある。

 

変換の容易性?

 

2進数から16進数への変換方法とは

実際に変換してみよう。

 

10進数の「15」を表してみる

2進数…1111
16進数…F

次に10進数の「16」を表してみる

2進数…10000
16進数…10

では次、10進数の「255」じゃ

2進数…11111111
16進数…FF

では最後に、10進数の「256」はどうや?

2進数…100000000
16進数…100

分かったかな?

 

いや全然わかりませんよ。変換大変でしたよ。

 

よく見てみるんや。2進数と16進数は、実は非常に変換しやすい。
2進数を4桁ずつ見てみると良いで。
このように、4桁ずつ区切って変換するだけで、あら不思議、簡単に2進数と16進数の変換ができる。

 

 

あ、ホントだ!でもなぜだろう、とっても不思議。

 

簡単な話や。16が「2の4乗」やからな。2進数の4桁で表せる数値が、16進数の1桁で表せる数値と同じになるんや。

 

なるほど!そういうことですね。

 

16進数はコンピュータにも人間にもわかりやすい!

 

一見するとわかりにくそうな16進数が、なぜプログラミングなどで使われているのか?
コンピュータからすれば、2進数に容易に変換できる。
人からすれば、桁数を短くして見やすくできる。
16進数は、コンピュータと人間の両方にとってわかりやすい表記方法ということやな。

 

コンピュータと人の歩み寄りを感じますね。

 

なぜ人間社会では10進数が使われるのか

 

数字の数え方にも色々あるんですねぇ。

 

せやな。ところでしょうたくん、なぜ人は普段の生活において10進数を使うと思う?

 

え…?切りが良いからじゃないんですか。

 

その「切り」がなぜ10なのか?や。
コンピュータは0と1が都合が良いから2進数やろ?
なぜ人間は、都合がいい数字として10を選んだと思う?

 

おおおおお、そう言われるとなぜだろう。
なぜ10が切りが良いと思うんだろう…?

 

これについては諸説ある。が、有力な説としては、人の指の数や。

 

指の数!?あ…

 

そう、数を数えるときの指折り数えるやろ?
両手の指で合計10本、それ以上になると一人では数えられん。だから10進数が馴染みやすいんやろな。

と言われている。

 

たしかにそれは納得感がありますね。
コンピュータは0と1の2パターンだから2進数。人は指の数が10本だから10進数。かぁ…

 

それぞれ、理解しやすい表現を使ってるということやな。

 

なぜ人は10進数を使うのか…まさかそんな深い話に繋がるなんて思ってもみませんでした。

 

2進数と16進数に関するまとめ

2進数と16進数が、なぜコンピュータで使われるか分かったかな?

 

はい!2進数はコンピュータがわかるための表現。
16進数は2進数を変換して桁を短くすることで、人が見た場合でもわかりやすくしているもの。
ですね。

 

うむ!まずはそこを理解していれば十分や。
これらの設定や表記が具体的にどんな場面で行われているかなど、これからしっかり勉強していくように。

また何かわからんかったら俺に聞くんやで!

 

-ネットワークの基礎を勉強
-,

Copyright© ワカテク【犬でもわかるITテクノロジー用語集】 , 2020 All Rights Reserved.