お知らせ内容をここに入力してください。

【基数変換】10進数から16進数への変換方法とは?練習問題を解きながらわかりやすく解説!

  • URLをコピーしました!
タップできる目次

そもそも基数変換とは何か?

基数変換について簡単に解説します。

  • 10進数と16進数
  • なぜ基数変換するのか
  • 整数部を基数で除算

順番に見ていきましょう。

①10進数と16進数

②なぜ基数変換するのか

③整数部を基数で除算

10進数から16進数への変換方法

10進数から16進数へ変換する方法を、3パターンの例題を使って解説します。

  • 整数を含む場合(178)
  • 小数を含む場合(0.703125)
  • 両方を含む場合(128.5)

順番に見ていきましょう!

①整数を含む場合(178)

まず10進数を16で除算し、商が0になるまで余りを求めます。

  • 178 ÷ 16 = 11 余り 2
  • 11 ÷ 16 = 0 余り 11

次に求めた余りを下から順に並べ、16進数に変換します。

  • 11,2 → B2

よって10進数の178を16進数に変換すると”B2″になります。

②小数を含む場合(0.703125)

まず10進数を16で乗算し、整数部を取り出します。

次に残った小数部を再度16で乗算し、同じ動作を小数部が0になるまで繰り返します。

  • 0.703125 × 16 = 11.25 整数部分11
  • 0.25 × 16 = 4.0 整数部4

次に取り出した整数部を上から順に並べて、16進数に変換すれば完了です。

  • 0,11,4 → 0.B4

よって10進数の0.703125を16進数に変換すると”0.B4″になります。

③両方を含む場合(128.5)

小数点を境に整数部と小数部で別々に処理します。

まずは①の動作で整数部を16進数に変換します。

  • 128 ÷ 16 = 8 余り 0
  • 8 ÷ 16 = 余り 8
  • 余りを下から並べて変換”8,0 → 80″

次に②の動作で小数部を16進数に変換します。

  • 0.5 × 16 = 8.0 整数部8
  • 整数部を上から並べると変換”0,8 → 0.8″

整数部と小数部の値を組み合わせて変換完了です。

  • 80 + 0.8 → 80.8

よって10進数の”128.5″を16進数に変換すると”80.8″になります。

④負の10進数を変換する場合(-18)

まずは10進数から符号を取った値を8ビットの2進数に変換します。

  • 18 ÷ 9 = 9 余り 0
  • 9 ÷ 2 = 4 余り 1
  • 4 ÷ 2 = 2 余り 0
  • 2 ÷ 2 = 1 余り 0
  • 1 ÷ 2 = 0 余り 1
  • 余りを下から順に並べると”00010010″

次に値を反転して1を加え、2の補数を求めます。

2の補数とは、元の値と合算したときに、桁が繰り上がる数値の中で最小のモノを指します。

  • 00010010 → 11101101
  • 11101101 + 1 = 11101110

2の補数を4ビットで区切り、それぞれを16進数に変換します。

  • 11101110 → 1110 1110

具体的には区切り単位で10進数に変換し、それぞれが16進数のいくつに当たるかを考えます。

  • 左側4桁目:1 × 2の3乗 = 8
  • 左側3桁目:1 × 2の2乗 = 4
  • 左側2桁目:1 × 2の1乗 = 2
  • 左側1桁目:0 × 2の0乗 = 0
  • 10進数12 → 16進数E
  • 右側4桁目:1 × 2の3乗 = 8
  • 右側3桁目:1 × 2の2乗 = 4
  • 右側2桁目:1 × 2の1乗 = 2
  • 右側1桁目:0 × 2の0乗 = 0
  • 10進数12 → 16進数E

各区切りの16進数を組み合わせて変換完了です。

  • 16進数EとEを連結 → EE

よって10進数の-18を16進数に変換すると”EE”になります。

16進数から10進数への変換方法

逆に16進数から10進数へ変換するには以下のステップを踏みます。

  • 16進数の各桁に『桁の重み』を掛ける
  • 取り出したすべての値を合算する
  • 変換完了

16進数”1010″を例に挙げて変換するなら

  • 4桁目:1×16の3乗 = 4096
  • 3桁目:0×16の2乗 = 0
  • 2桁目:1×16の1乗 = 16
  • 1桁目:0×16の0乗 = 0

になるので、これらすべての値を合算し、

  • 4096 + 0 + 16 + 0 = 4112

となるので、変換後の値は”4112″となります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

CAPTCHA

タップできる目次