基数変換のやり方|2進数・16進数・10進数の行き来を手順で覚える【ITパスポート】

「10」と書かれた数を、いくつだと読むでしょうか。ふつうは十です。ところがコンピュータの世界では、これが二を表すことも、十六を表すこともあります。同じ見た目なのに値が変わる——ここでつまずく人は多いです。読み分ける鍵は、その数が何進数で書かれているかにあります。
基数とは、位が何倍ずつ増えるかを決める数
基数(きすう)とは、位が1つ上がるごとに何倍になるかを決める数です。10進数なら10倍、2進数なら2倍、16進数なら16倍になります。基数変換とは、同じ数を別の基数で表し直すことをいいます。
仕組みを確かめるために、まず10進数の155を分解してみましょう。
| 位 | 3桁目 | 2桁目 | 1桁目 |
|---|---|---|---|
| 数字 | 1 | 5 | 5 |
| 重み | 10² = 100 | 10¹ = 10 | 10⁰ = 1 |
100×1 + 10×5 + 1×5 = 155 です。ふだん意識せずにやっている計算ですね。
2進数も16進数も、位取りの仕組みは同じです。変わるのは位の重みと、各桁で使える数字だけです。

2進数から10進数へ:1が立っている位の重みを足す
3つの方向のうち、これがいちばん簡単です。1が書かれている位の重みを足すだけで終わります。
2進数の 10011011 で試してみましょう。
| 重み | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
|---|---|---|---|---|---|---|---|---|
| 数字 | 1 | 0 | 0 | 1 | 1 | 0 | 1 | 1 |
1が立っているのは 128・16・8・2・1 の位です。足すと 155。さきほどの155と同じ数だとわかります。
コツは、計算の前に右から 1, 2, 4, 8, 16, 32, 64, 128 を書き出してしまうことです。
10進数から2進数へ:2で割り続けて、余りを下から読む
逆向きは割り算を使います。手順は3つです。
- 10進数を2で割り、商と余りを書く
- 商が0になるまで、割り算を繰り返す
- 余りを下から上に読む
同じ155でやってみましょう。
| 割り算 | 商 | 余り |
|---|---|---|
| 155 ÷ 2 | 77 | 1 |
| 77 ÷ 2 | 38 | 1 |
| 38 ÷ 2 | 19 | 0 |
| 19 ÷ 2 | 9 | 1 |
| 9 ÷ 2 | 4 | 1 |
| 4 ÷ 2 | 2 | 0 |
| 2 ÷ 2 | 1 | 0 |
| 1 ÷ 2 | 0 | 1 |
余りを下から読むと 10011011 です。ひとつ前の節で足し算から求めた2進数と一致しました。

間違えやすいのは、余りを読む向きです。上から読むと 11011001 となり、まったく別の数になってしまいます。これは実際に過去問の誤答の選択肢として用意されている形です。下から読む、と覚えておいてください。
なお、この割り算は整数の部分の手順です。小数の部分は逆に2を掛けて、積の整数部(0か1)を上から順に並べます。0.625 なら、0.625×2=1.25 で1、0.25×2=0.5 で0、0.5×2=1 で1。並べて .101 です。ただし小数によっては終わりません。その場合は問題が指定する桁で打ち切ります。
16進数はなぜ使うのか
2進数は機械には都合が良い一方、人には読みにくい表し方です。155がすでに8桁になります。そこで出番になるのが16進数です。
16進数では、0から9までのあとをA〜Fで表します。Aが10、Bが11、Cが12、Dが13、Eが14、Fが15です。
過去問では、こう問われています。
16進数のA3は10進数で幾らか。
(出典:ITパスポート試験 平成24年秋期 問79)
考え方は10進数のときと変わりません。A3は2桁なので、重みは16と1です。Aは10ですから、16×10 + 1×3 = 163 となります。
16進数が便利なのは、2進数4ビットがちょうど16進数1桁に収まるからです。4ビットで表せるのは0から15までの16通りで、16進数1桁の範囲と一致します。
そのため、2進数と16進数の行き来に割り算はいりません。整数なら、2進数から16進数へは右から4ビットずつ区切り、逆向きは1桁を4ビットに開くだけです。左端が4ビットに足りなければ、0を補って考えます。
たとえば 10011011 を、右から4ビットずつ区切ってみましょう。1001 と 1011 に分かれます。1001 は 8+1 = 9、1011 は 8+2+1 = 11 なのでBです。つなげると 9B となります。
同じ考え方は8進数にも使えます。8進数は1桁が3ビットぶんなので、区切る幅を3に変えるだけです。
試験ではこう出る
学習の上では、大きく2つのタイプに整理できます。変換そのものを計算させる形と、2進数の仕組みを応用させる形です。応用には、2進数の加算、2の補数、組合せの数を数える問題などがあります。まずは土台の変換からどうぞ。
腕試し問題
出典:ITパスポート試験 平成21年秋期 問64
8進数の55を16進数で表したものはどれか。
解答と解説
解説(解答せずに開けます)
正解はアです。
正答の理由
8進数は1桁が3ビットぶんです。55なら 5 = 101、5 = 101 なので、つなげると 101101 になります。これを右から4ビットずつ区切ると 10 と 1101。左を0で埋めて 0010 と 1101 なので、2D です。
誤答の解説
8進数の55は、10進数では 8×5 + 5 = 45 です。残りの選択肢を10進数に直すと、どれも45になりません。
- ❌ イ「2E」→ 16×2 + 14 = 46
- ❌ ウ「4D」→ 16×4 + 13 = 77
- ❌ エ「4E」→ 16×4 + 14 = 78
ポイント
- 8進数は1桁が3ビット、16進数は1桁が4ビット。区切る幅が違うだけです
- 2と8と16は2の累乗どうしです。いったん2進数に開けば、あとは区切り直すだけで済みます
もう1問、基数の考え方が実際の場面で使われる出題も見ておきましょう。
腕試し問題
出典:ITパスポート試験 令和3年度 問66
RGBの各色の階調を、それぞれ3桁の2進数で表す場合、混色によって表すことができる色は何通りか。
解答と解説
解説(解答せずに開けます)
正解はエです。
正答の理由
3ビットで表せるのは 000 から 111 までで、2×2×2 = 8通りです。この8通りが赤・緑・青のそれぞれにあるので、混色の組合せは 8×8×8 = 512通りになります。
誤答の解説
- ❌ ア「8」→ 1色ぶんの階調数。3色の組合せになっていない
- ❌ イ「24」→ 8×3。3色ぶんを掛け合わせる(8³)べきところを、3倍にした形
- ❌ ウ「256」→ 2⁸。1色を8ビットで表したときの階調数で、ビット数を取り違えている
ポイント
- **「nビットで表せるのは2ⁿ通り」**が土台になります
- 色数や組合せの数を問う出題は、この形が繰り返し使われます
まとめ
- 基数は、位が1つ上がるごとに何倍になるかを決める数
- 2進数から10進数へは、1が立っている位の重みを足す
- 10進数から2進数へは、2で割り続けて余りを下から読む
- 整数を2進数から16進数へは、右から4ビットずつ区切るだけ。足りなければ左を0で埋める
- 割り算は整数の部分の手順。小数の部分は2を掛けて、積の整数部を上から順に並べる
- nビットで表せるのは 2ⁿ通り(000 も数に入る固定長の話)
手順そのものは単純です。まずは計算用紙の隅に 1, 2, 4, 8, 16, 32, 64, 128 を書き出す癖をつけてみてください。それだけで解ける問題がぐっと増えるはずです。


