基数変換の基礎まとめ【10進数・2進数・8進数・16進数の変換方法を解説】

基数変換に関するブログのアイキャッチ画像 基礎理論
広告

 進数の基本を理解したら,次に身につけたいのが「基数変換」です。基本情報技術者試験をはじめとする情報処理技術者試験では,進数の知識を前提に,実際に数値を変換する問題が頻出です。手順をしっかり理解できていますか?

基数変換=ある進数の数値を別の進数に変換する操作

 コンピューターの内部では2進数が使われていますが,人間にとって扱いやすい10進数や,効率的に表現できる8進数・16進数との間で,数値を相互に変換する必要があります。この変換ルールを理解することが,計算問題を解くうえでの土台になります。

 このページでは,10進数⇔2進数の変換を中心に,8進数・16進数への変換や相互変換まで,手順を一つひとつシンプルに整理しています。整数・小数の変換も含めて段階的に学べる構成になっているため,初学者の方でも無理なく理解できます。

広告

基数変換とは(進数表現を別の基数に変換)

 基数とは,1桁で使用する記号(数字)の個数のことをいいます。10進数の場合は1桁で0~9の10種類の数字を使いますので基数は10,2進数の場合は1桁で0,1の2種類の数字を使いますので基数は2となります。
 基数変換とは,10進数の数値を2進数に変換するというように,別の基数の数値に変換することをいいます。

10進数の整数値を2進数に変換する方法

 10進数の整数値23を2進数に変換する方法は,次のとおりです。

 よって,10進数の整数値23を2進数に変換すると10111になります。

23(10)=10111(2)

10進数と2進数を区別するために,次のような表記を用います。

10進数の100: 100(10)
2進数の100: 100(2)

10進数の整数を進数変換に使う準備

 10進数の123という数値の各桁の取り出し方は,次のとおりです。

① 123を10で割り,答えと余りを求める。
  123÷10=12…3この余りが1の位の値になる。
② ①で求めた答えを10で割り,答えと余りを求める。
  12÷10=1…2この余りは10の位の値になる。
③ ②で求めた答えを10で割り,答えと余りを求める。
  1÷10=0…1この余りは100の位の値になる。

 この計算は,10進数を10進数に変換するということにもなります。
 よって,10進数の整数値を2進数に変換する場合は2で割るということになりますし,8進数に変換する場合は8で,16進数に変換する場合は16で割るということになります。

10進数の整数値を8進数に変換する方法

 10進数の整数値279を8進数に変換する方法は,次のとおりです。

 よって,10進数の整数値279を8進数に変換すると427になります。

279(10)=427(8)

10進数の整数値を16進数に変換する方法

 10進数の整数値2685を16進数に変換する方法は,次のとおりです。

 よって,10進数の整数値2685を16進数に変換するとA7Dになります。

2685(10)=A7D(16)

10進数の整数値を任意の進数へ変換する方法

 10進数の整数値xをn進数に変換する方法をまとめると,次のようになります。

① xをnで割り,商pと余りqを求める

② p=0ならば終了。それ以外の場合は,x=pとして①に戻る

練習問題(10進数の整数を2進数に変換する)

 次の10進数を,2進数に変換しなさい。

① (18)10   ② (25)10   ③ (32)10

広告

10進数の小数値を2進数に変換する方法

 10進数の小数値0.6875を2進数に変換する方法は,次のとおりです。

 よって,10進数の小数値0.6875を2進数に変換すると0.1011になります。

0.6875(10)=0.1011(2)

小数値を基数変換する準備

 10進数の0.123という数値の各桁の取り出し方は,次のとおりです。

① 0.123に10を掛ける。
  0.123×10=1.23整数部の1が小数第1位の値になる。
② ①で求めた答えの小数部を取り出し10を掛ける。
  0.23×10=2.3整数部の2が小数第2位の値になる。
③ ②で求めた答えの小数部を取り出し10を掛ける。
  0.3×10=3整数部の3が小数第3位の値になる。

 この計算は,10進数を10進数に変換するということにもなります。
 よって,10進数の小数値を2進数に変換する場合は2を掛けるということになりますし,8進数に変換する場合は8を,16進数に変換する場合は16を掛けるということになります。

10進数の小数値を任意の進数へ変換する方法

 10進数の小数値xをn進数に変換する方法をまとめると,次のようになります。

① xとnをかけ算した結果を,整数部分iと小数部分jに分ける

② j=0ならば終了。それ以外の場合は,x=jとして①に戻る

練習問題(10進数の小数を2進数に変換する)

 次の10進数を,2進数に変換しなさい。

① (0.125)10   ② (0.5625)10

広告

2進数を10進数に変換する方法

 2進数1101.101を10進数に変換する方法は,次のとおりです。

 よって,2進数の値1101.101を10進数に変換すると13.625になります。

1101.101(2)=13.625(10)

任意の進数を10進数に変換する方法

n進数の値x(xixi-1 … x0 . x-1 … xj-1xj)を10進数に変換する方法をまとめると,次のようになります。

x=xi×ni+xi-1×ni-1+ … +x0×n0+x-1×n-1+ … +xj-1×nj-1+xj×nj

を計算し求める

練習問題(2進数を10進数に変換する)

 次の、2進数を10進数に変換しなさい。

① (101.1)2   ② (1110.011)2

2進数を8進数・16進数に変換する方法

 2進数の値10101011を8進数に変換する方法は次のとおりです。

 2進数3桁は8進数1桁で表現できるので,2進数の値を下から3桁ずつに分けて,それぞれを8進数に変換します。

 2進数の値1101101を16進数に変換する方法は次のとおりです。

2進数を16進数に変換する説明画像

 2進数4桁は16進数1桁で表現できるので,2進数の値を下から4桁ずつに分けて,それぞれを16進数に変換します。

 8進数や16進数を2進数に変換する場合も,同じ考えで行います。

8進数16進数を2進数に変換する説明画像

※ 2026年3月26日:記載内容を訂正しました(110(2) → 6(16)、ご指摘ありがとうございます)

練習問題(2進数を8進数・16進数へ変換する)

 次の問いに答えよ。

① 10011110(2)を8進数に変換しなさい。
② 10011110(2)を16進数に変換しなさい。
③ 62(8)を2進数に変換しなさい。
④ DB(16)を2進数に変換しなさい。

まとめ

 今回は,基数変換の基本として,10進数・2進数・8進数・16進数の相互変換についてシンプルにまとめてみました。基数変換は,最初は手順が多く感じて難しく思えるかもしれませんが,ルールを押さえれば,確実に解けるようになります。特に,10進数→n進数は「割る」,小数は「掛ける」,n進数→10進数は「重みで展開する」という基本パターンを意識することが重要です。また,2進数と8進数(3ビット),16進数(4ビット)の対応関係を理解しておくと,計算を大幅に簡略化できます。
 基数変換は,計算問題としてだけでなく,コンピューターのしくみを理解するうえでも重要な基礎となります。すぐに解けるようになるためには,練習問題を繰り返し解き,手順に慣れることが近道です。

 理解が進んだら,基本情報技術者試験の過去問題にもチャレンジしてみてください。