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

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

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

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

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

  • 10進数と2進数
  • 変換するのはどんな時か
  • 整数部を基数で除算

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

①10進数と2進数

基数変換とは、ある基数で表された数値を別の基数に変換することを指します。最も一般的なのが、2進数と10進数の変換です。10進数は、人間が日常的に使用している数値表現方法で、0から9までの10個の数字を使って数値を表します。一方、2進数は、0と1の2つの数字のみで数値を表現する方法で、コンピュータなどの電子機器で使われています。

②変換するのはどんな時か

人間が入力した命令をコンピュータが扱えるデジタル形式に変換したり、コンピュータでの演算結果を人間が読みやすい形式に変換したりする場合に、基数変換が必要になります。例えば、コンピュータは機械語と呼ばれる2進数の命令しか理解できないため、ソースコードを実行する際にも、コンパイルというプログラムの変換作業が必要になります。

③整数部を基数で除算

基数とは、数値を表現する際に位取りの基準となる数のことです。簡単に言えば、『〇進数』の〇に当たる部分が基数になります。10進数では10倍ごとに桁が上がるため基数は10、2進数では2倍ごとに桁が上がっていくため基数は2です。変換する場合は、整数部を商が0になるまで2(基数)で割っていき、最後に余りを下から順に取り出します。

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

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

  • 整数を含む場合(155)
  • 小数を含む場合(0.625)
  • 両方を含む場合(11.5)
  • 負の10進数を変換する場合(-100)

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

①整数を含む場合(155)

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

  • 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

よって10進数の155を2進数に変換すると”10011011″になります。

②小数を含む場合(0.625)

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

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

  • 0.625 × 2 = 1.25 整数部 1
  • 0.25 × 2 = 0.5 整数部 0
  • 0.5 × 2 = 1.0 整数部 1

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

  • 0.101

よって10進数の0.625を2進数に変換すると”0.101″になります。

③両方を含む場合(11.5)

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

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

  • 11 ÷ 2 = 5 余り 1
  • 5 ÷ 2 = 2 余り 1
  • 2 ÷ 2 = 1 余り 0
  • 1 ÷ 2 = 0 余り 1
  • 余りを下から順に並べると”1011″

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

  • 0.5 × 2 = 1.0 整数部 1
  • 整数部を上から並べると”0.1″

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

  • 1011 + 0.1 = 1011.1

よって10進数の11.5を2進数に変換すると”1011.1″になります。

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

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

  • 100 ÷ 2 = 50 余り 0
  • 50 ÷ 2 = 25 余り 0
  • 25 ÷ 2 = 12 余り 1
  • 12 ÷ 2 = 6 余り 0
  • 6 ÷ 2 = 3 余り 0
  • 3 ÷ 2 = 1 余り 1
  • 1 ÷ 2 = 0 余り 1
  • 余りを下から順に並べると”1100100″

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

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

  • 1100100 → 0011011
  • 0011011 + 1 = 0011100

よって10進数の-100を2進数に変換すると”0011100″になります。

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

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

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

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

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

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

  • 0 + 4 + 2 + 1 = 7

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

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

この記事を書いた人

コメント

コメントする

CAPTCHA

タップできる目次