私たちが普段使いで慣れ親しんでいるのが10進数です。
0から9まで10種類の数字で表し、9の次に1桁上がります。人間が1番数えやすい数え方と言えます。

今回は3種類の数字の数え方とそれぞれ変換するための計算方法を、わかりやすく図解で解説します!
そして今回のメインテーマ2進数と16進数。これはコンピュータが好む数え方です。それぞれの違いをわかりやすくまとめるとこうなります。
- 2進数→コンピューターが理解しやすい数え方
- 10進数→人間が理解しやすい数え方
- 16進数→コンピューターを扱う人間が理解しやすい数え方
全くわからない方でも理解しやすいように計算式だけではなく、図解も交えて計算方法解説します。
今回の記事を最後までご覧になれば、2進数や16進数についての理解度が高まること間違いありません。
それでは、さっそく始めていきましょう。
「10進数」について



普段使う数え方だから当たり前にわかると思うけど、2進数や16進数と比較するために一応説明するワン!
まずは普段私達が特別に意識することなく使っている10進数について見ていきましょう。日本を含め、世界の標準は10進法で数えるのが一般的。
なぜ10進法が採用されたかというと、両手を使い最も数えやすいのが数字の10。そのような理由からそうなったと言われます。
数え方は、0~9の10個の数を組み合わせで10進数が表されます。
0、1、2、3、4、5、6、7、8、9 まで10数えたら1桁繰り上がって10からまた数える。それを繰り返して数字が表されます。
「2進数」と「16進数」
私たち人間がコンピュータを使いプログラミングをするときは、普段使っている10進数ではなく2進数の方が何かと都合が良いです。
なぜかというと、コンピュータの根本の部分は0 (OFF)と1 (ON) の2進数で作られているからです。画像、音声、動画からWindowsなどのOSまで全ての元となるプログラムが2進数によって計算されています。
2進数を英語にするとbinary digitです。
それを略したものがbit(ビット)。このbitやbyteについての基礎知識を解説した記事があります。コンピュータの基礎知識が身に付きますので、そちらも合わせご覧いただくと理解度が深まります。
話を2進数にもどします。
まずは10進数25678を2進数で、コンピュータが理解できる数に変換してみましょう。
- 【10進数】25678(変換前)
- 【2進数】110010001001110(変換後)
これをパッと見でわかる方は凄いです。大抵はこれを見ただけではどんな数値を表すのかわからないかと思います。
【10進数から2進数への計算方法は後ほど解説します。】
次に16進数についてです。16進数というのはコンピュータを扱う我々人間側が一番理解しやすい数字の数え方になります。
記事の冒頭にも書きましたが、わかりやすくまとめるとこうゆうことです。
- 2進数→コンピューターが理解しやすい
- 10進数→人間が理解しやすい
- 16進数→コンピューターを扱う人間が理解しやすい
25678(10進数)=644E(16進数)
こちらも普段使わない私たちには、全く意味がわかりません。
プログラムの理解度を深めるためにはこれらの知識が必要不可欠と言われていて、2進数 = 10進数 = 16進数 と自由自在に変換できる力が求められます。
このような問題は図にした方が伝わりやすく理解しやすいので最後の方の章で図解にしてみました。
まず全てに共通しているのが、10進数のように1からではなく0からスタートしているということです。表で比較してみましたのでご覧ください。
10進数 | 0 | 1 | 2 | 3 | 4 | 5 |
16進数 | 0 | 1 | 2 | 3 | 4 | 5 |
2進数 | 0 | 1 | 10 | 11 | 100 | 101 |
10進数 | 6 | 7 | 8 | 9 | 10 |
16進数 | 6 | 7 | 8 | 9 | A |
2進数 | 110 | 111 | 1000 | 1001 | 1010 |
10進数 | 11 | 12 | 13 | 14 | 15 | 16 |
16進数 | B | C | D | E | F | 10 |
2進数 | 1011 | 1100 | 1101 | 1110 | 1111 | 10000 |
2進数
2進数は2を基数とした数え方で0と1の組み合わせで表されます。2進数はコンピュータと最も相性が良い数え方とされています。
16進数
16進数は16を基数とした数え方で0~9、A~Fの計16ある数字の組み合わせで表されます。16進数はコンピュータ、人間と両面から見て比較的相性が良い数え方とされています。
2進数と相性が良いという証拠にこのような比較もできます。
- F (16進数) = 1111 (2進数)
- FF (16進数) = 1111 1111 (2進数)
- FFF (16進数)= 1111 1111 1111 (2進数)
- FD (16進数) = 1111 1101 (2進数)
- FDD (16進数)= 1111 1101 1101 (2進数)
- CA8 (16進数)= 1100 1010 1000 (2進数)
上で10進数・16進数・2進数と比較した表と合わせてみて下さい。法則らしきものがあるのがわかります。ただやはり計算の仕方も知っておきたいので次の章ではそちらを紹介したいと思います。
「2進数=10進数=16進数」計算方法


それでは実際に変換の計算をしていきます。以下の順番でいきます。
- 「2進数」から「10進数」に変換
- 「10進数」から「2進数」に変換
- 「2進数」から「16進数」に変換
- 「16進数」から「2進数」に変換
- 「16進数」から「10進数」に変換
「2進数 」 →「10進数」
まず2進数から10進数への計算方法を紹介します。下に0と1で組み合わせた数字を用意しました。
「2進数」10011011
この0と1の2進数を10進数に変換していきます。
桁の重み(ケタのおもみ)というのは、各数字の単位のことです。10進数なら「10→100→1000→10000」と桁が上がっていくこと。10進数の場合、1つ桁が上がごとに数値が10倍に増えます。
2進数にも桁の重みがあって、この場合は1つ桁が上がるごとに2倍になっていきます。1番右から計算式にすると以下のようになります。
✅右端の数字から順に。足した数字の合計が10進数
(右端の桁から)
- 1桁目 2の0乗(=1)×2進数(1の位)=A
- 2桁目 2の1乗(=2)×2進数(10の位)=B
- 3桁目 2の2乗(=4)×2進数(100の位)=C
- 4桁目 2の3乗(=8)×2進数(1000の位)=D
- 5桁目 2の4乗(=16)×2進数(10000の位)=E
- 6桁目 2の5乗(=32)×2進数(10000の位)=F
- 7桁目 2の6乗(=64)×2進数(10000の位)=G
- 8桁目 2の7乗(=128)×2進数(10000の位)=H
A~G全ての桁の数字を足した合計が変換された10進数
▼「2進数… 10011011」 これを計算式に当てはめてみましょう。
- 1桁目 2の0乗(=1)×1(1の位)=1
- 2桁目 2の1乗(=2)×1(10の位)=2
- 3桁目 2の2乗(=4)×0(100の位)=0
- 4桁目 2の3乗(=8)×1(1000の位)=8
- 5桁目 2の4乗(=16)×1(10000の位)=16
- 6桁目 2の5乗=32)×0(10万の位) =0
- 7桁目 2の6乗(=64)×0(100万の位)=0
- 8桁目 2の7乗(=128)×1(1000万の位)=128
1+2+0+8+16+0+0+128=155(10進数)
上記の計算式をわかりやすく図解にします
このように「2進数… 10011011」=「10進数… 155」になります。


「10011011」は8ケタあるのでコンピュータのデータだと8bitになります。
「10進数」→「2進数」
こちらも図だけ見ればわかるようにしました。
「10進数… 155」2で割って、余りがあれば1無ければ0と記していきます。0になるまで商を割っていき最後に1が余った所、下から読み上げていきそれをつなげると2進数になります。


155 (10進数) = 10011011 (2進数)
「2進数 」 →「16進数」
こちらはこのようになりました。
【2進数… 10011011】→【16進数… 9B】
2進数から16進数に変換する場合は4つずつ区切ります。


「16進数」→「2進数」
上の問題を逆さに計算します。巻き戻しです。


「16進数」→「10進数」
16進数から10進数にする場合は、分解したそれぞれの数字に16の○乗を掛けます。FF8Dとか数が多くなる場合は掛ける位の数も16の2乗=256、16の3乗=4096、16の4乗=65536と増やしていきます。


「2進数」「16進数」とプログラミングの関係
コンピュータと2進数、16進数は相性がいいです。コンピュータの根本は2進数で計算されています。
このように内部的には2進数が大事になってきますが、C言語などプログラミングにおいては16進数が使われる機会の方が多いかと思います。
基本情報技術者試験
そこで必要になるのが2進数や16進数の計算方法やプログラミングの基礎知識です。
ITに関する知識や技術を証明するための国家資格がITパスポートやこちらの基本情報技術者試験(きほんじょうほうぎじゅつしゃしけん)になります。
この資格を持っていることで、システムエンジニアやプログラマーの基礎スキルを持っていることを証明できます。
基本情報技術者の資格を取得するためには、今回紹介の2進数や16進数の変換方法を覚える必要があります。
かならず問題に出るのでしっかり覚えておきましょう。
受験資格 | 特になし(誰でも可) |
試験日程 | 随時可能(2023年4月から) |
受験料金 | 7500円(税込み) |
メモ | CBT方式(パソコン利用の試験方式) |
この基本情報技術者について一通り解説した最新記事があります。
この資格の「難易度」「活かせる仕事」「メリット・デメリット」を知りたい方は今すぐチェック。一度読めば一通り理解できるようにまとめていますので、そちらもあわせてお読みください。



この記事にたどり着いた方の中には、この「基本情報技術者」や「ITパスポート」で進数の問題が出題されるかた調べていた方もいるかもしれないワン!



この資格を取得することでIT系の就職で有利になります。また、国家資格なので一度取得したら更新不要で一生使うことができるのでおすすめの資格です
関連記事


まとめ
2進数や16進数はプログラミングにも大きくかかわってきます。「2進数=10進数=16進数の計算方法」は、学習している人は覚えておきたい基礎知識です。
今回の記事ではそのような方もわかりやすいように図解で解説しました。参考になれば幸いです。
プログラミングの基礎知識や8進数から他の進数への計算方法は別記事で解説していますので、興味がある方はこちらも合わせてご覧ください。最後までありがとうございました。


進数の無料相互変換ツール
進数変換ツールは、2進数、8進数、10進数、16進数の数値を簡単に相互変換できる便利なオンラインツールです。プログラミングやコンピューターサイエンスの分野で働く人々にとって、異なる進数の数値を理解し、変換することは重要なスキルです。このツールは、初心者から上級者まで、幅広いユーザーに役立ちます。