10進数を2進数に,2進数を10進数に変換(基数変換) -情報処理シンプルまとめ

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

 基本情報技術者試験など情報処理技術者試験を受験する方にとっては必須の基数変換についてシンプルにまとめています。10進数を2進数に変換する方法や2進数を10進数に変換する方法はもちろん,10進数を8進数や16進数に変換したり,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進数の整数値をn進数に変換

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

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

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

練習問題

 次の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進数(小数値)の各桁の取り出し方

 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進数の小数値をn進数に変換

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

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

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

練習問題

 次の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)

n進数の値を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進数に変換しなさい。

① (101.1)2   ② (1110.011)2

2進数を8進数,16進数に変換

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

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

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

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

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

練習問題

 次の問いに答えよ。

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

まとめ

 今回は,10進数を2進数や8進数,16進数に変換したり,逆に,2進数や8進数,16進数を10進数に変換したりする方法について,シンプルにまとめてみました。みなさん,理解できましたか?2進数⇔8進数,2進数⇔16進数の変換方法についても,しっかり確認しておきましょう。