図解で明快! 16進数、10進数、2進数の概念・計算方法について分かりやすく教えます!

エンジニア

※この記事は、作成日より一年以上が経過しています。最新の情報ではありませんので、ご注意ください。

読了の目安時間: 431

学生はもちろん、大人でも、つまずきがちな人が結構多い、進数の問題。べつに知らなくても人生で困ることは少ないですが、ITに関する職業を考えている人は絶対に知っておいた方が良いです。

今回は、進数について、初めての人にも分かりやすく理解できる、まとめ記事を作成してみました。ぜひ参考に見てみてください。

進数の概念

進数とは、概念的には「その数字をどのように表現するか」といったものです。

よく分からない人は、たとえば「カレンダー・月日・暦」をイメージしてみてください。人々の周りを流れる時間。この時間をどのように表現するか・・・。この答えとしては、太陽太陰暦、太陽暦などの複数の手段が存在します。

同じように、数字の表現方法にも、2進数、10進数、16進数といったように、複数の手段があるというわけです。

10進数について

これが、わたしたちの生活の基盤にもなっている、最もスタンダードな管理方法です。皆さんもご存知の通り、数字といったら「0,1,2,3,4,5,6,7,8,9」ですよね。10進数では、この0~9の数字(文字)を使って、すべての数字を管理します。とっても便利でわかりやすいですよね。

2進数について

これは、コンピュータに関連する職業に就く人なら必ず知っているハイパー常識です。2進数では、すべての数字を「0,1」の数字(文字)だけで表現します。

たとえば、10進数で「1,2,3,4,5」と数えるものを、2進数なら「1,10,11,100,101」というように数えていきます。

10進数では9の次が桁上がりのタイミングなのですが、2進数では1の次が桁上がりのタイミングとなります。

この2進数に関する計算方法は、ページ下部に掲載しています。

16進数について

これも、コンピュータに関連する職業に就く人なら必ず知っているハイパー常識です。16進数では、すべての数字を「0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F」の数字(文字)だけで表現します。

たとえば、10進数で「15,16,17,18,19」と数えるものを、16進数なら「F,10,11,12,13,14」というように数えていきます。

10進数では9の次が桁上がりのタイミングなのですが、16進数ではFの次が桁上がりのタイミングとなります。

この16進数に関する計算方法は、ページ下部に掲載しています。

さまざまな進数が必要となる理由

なんで進数なんてあるんだよ。10進数だけあればオールOKだろ?

って、思う人は多いかもしれません。ただ、この考え方はとても乱暴です。

例えるならば、英語があればすべてOK。英語以外、廃止しろってくらい横暴な行為です。

進数には種類があり、それぞれに便利な理由があります。

たとえば人間にとって扱いやすいものは10進数です。

しかし、機械にとって扱いやすいものは2進数です。(基本としては2進数しか扱えない。)

加えて、巨大な数字を扱う環境で扱いやすいものは16進数です。

具体例を一つ。

web関連の人で一番イメージしやすい進数といえば、さしずめRGBでしょうか。

cssで「color:rgb(255,255,255);」とやれば白色となります。

でも、これ、「color:#fff;」と書いても同じ白色ですよね。

この時、10進数表記よりも16進数表記のほうが、少ない文字数で表現ができていますね。

このように、進数をうまく使うと、容量を節約できたりするなどのメリットが得られるというわけなのです。

図解でわかりやすく! 進数の計算方法

それでは、さっそく進数の計算方法について学んでいきましょう。
正直、ここは「ひっ算」のように機械的に手段を覚えるだけです。

2進数を10進数へ変換!

2進数「1110」を10進数に変換する時は、下図のように計算します。

2進数を10進数へ変換

10進数を2進数へ変換!

10進数「14」を2進数に変換する時は、下図のように計算します。

10進数を2進数へ変換

16進数を10進数へ変換!

16進数「1FA5」を10進数に変換する時は、下図のように計算します。

16進数を10進数へ変換

ポイントは、A=10、B=11,C=12,D=13,E=14,F=15というように計算することです。

10進数を16進数へ変換!

10進数「8101」を16進数に変換する時は、下図のように計算します。

10進数を16進数へ変換

余談:著者の使用体験

昔、わたしがエンジニア業をやってた時は、2進数や16進数をめちゃくちゃ使いました。

試験機から得られるデータがすべて2進数や16進数で送られてくるからです。

そのため、得られたcsvデータを10進数に変換してソートし、それらを自動的にグラフに出力するなどのエクセルのVBAマクロをゴリゴリ作成していました。

また試験で得られたデータを見た時、16進数の暗算ができると、その結果がどんな感じなのかすぐに判断できたりするので、エンジニア業に就く人は絶対に覚えておいた方が良いです。

インドなどで、IT関連の勉強をする意欲的な学生は、2と16の乗数などを九九的に暗記しているともいいますね。それらは必要だからやっているわけですね。

まとめ

いかがでしたでしょうか。
基礎だけでも分かっていると、進数への考え方も変わり、理解意欲も変わってくるかと思います。少しでもお役になっていれば幸いです。

ちなみに8進数は省いていますが、考え方や計算方法は2進数と16進数と同じです。正直なところ、重要度が低めなので、本記事では割愛しました。IT分野のうち、さらに狭い分野の人、8bit信号などを扱う方々などでない限り、滅多に触れることはないです。

今読んだ記事をシェアする

sinsu-thumb

図解で明快! 16進数、10進数、2進数の概念・計算方法について分かりやすく教えます!

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

このブログサイトが参考になった人は、いいねボタン! 更新情報も受け取れます!

arrow
デル株式会社
  • Pocket
  • このエントリーをはてなブックマークに追加

キヨタツ

キヨタツ

WEBを中心に、色々な制作をする個人事業主です。過去、エンジニア&webディレクターで会社勤めをしていました。エンジニアで勤めていた頃は、MATLAB/simulink/VBA/C/C++など扱っていました。生産管理、MECE、オブジェクト指向など、エンジニアの知識はweb業界に入っても、かなり役立ちます。性格は、自虐好きです。