10進数と2進数の変換のやり方メモ
投稿日:2016年04月19日
最終更新日:
もくじ
- 10進数と2進数とは?
- 10進数→2進数の変換
- 2進数→10進数の変換
10進数と2進数とは?
10進数と2進数の変換方法に話に入る前に、10進数と2進数、10進法と2進法の意味について少しだけ解説します(わかってる人は読み飛ばしていいです)。10進法は普段我々が慣れ親しんでいる記数法(数を表現する方法)です。0~9までの10個の数字を用いて数を表します。何か物(例えばミカン)を数えるときにはミカンが(0個、)1個、2個、3個、…、8個、9個というふうに数えていきます。そして、10進法では9の次の数を表す数字が無いので、桁が繰り上がります(10)。そしてまた11個、12個、13個…と数えていくわけです。使える数字の数で収まらなくなったら桁上りで対応します。10進法で表された数が10進数です。
一方、2進法の場合は0と1という2個の数字を使って数を表します。コンピューターではよく出てきます。物を数える場合には(0個、)1個、10個、11個、100個、101個、110個、111個、1000個…といった感じになります。使える数字が0と1の2個だけなので、すぐに桁上りが発生します(なので2進法で数を表すと桁数が嵩みます)。2進法で表された数が2進数です。
最後に「基数」という概念に触れて用語解説を終わりたいと思います。「基数」は数を表現するときに桁の重み付けの基本となる数です。10進法の基数は10になります(n進法の基数はn)。各桁の数値にその桁の重み(桁の重みの意味は後述)を掛けたものを足し合わせることで数ができます。「桁の重み」は基数の累乗で表されます。n進法におけるp桁目(整数部)の桁の重みは「nの(p-1)乗」で表されます。小数部の場合は「nの-p乗」になります(例 8進法における整数部3桁目の桁の重みは 8の(3-1)乗=64 4進法における小数部2桁目の桁の重みは 4の-2乗=0.0625(16分の1))。
整数部(整)p桁目 | … | 整3桁目 | 整2桁目 | 整1桁目 | 小数点 | 小1桁目 | 小2桁目 | … | 小数部(小)p桁目 | |
n進数の桁の重み | n^(p-1) | n^2 | n^1 | n^0 | . | n^(-1) | n^(-2) | … | n^(-p) | |
2進数の桁の重み | 2^(p-1) | … | 2^2 | 2^1 | 2^0 | . | 2^(-1) | 2^(-2) | … | 2^(-p) |
10進数の桁の重み | 10^(p-1) | … | 10^2 | 10^1 | 10^0 | . | 10^(-1) | 10^(-2) | … | 10^(-p) |
10進数→2進数の変換
それでは10進数を2進数に変換してみましょう。今回は10進数の「26.625」を2進数にします。手順は以下のとおりです。
- 変換対象の10進数を整数部分と小数部分に分解する。
- 整数部分は2で割り(商が0になるまで継続)、出てきた余りを下から並べ直す。
- 小数部分は2をかけていき、積に小数部分が残っていたらそこだけ取り出して2をかける。これを小数部分が無くなるまで継続。掛け算した結果の整数部分を順に並べる。
- 整数部分(余りを並べたもの)と小数部分(掛け算の結果の整数部分を並べたもの)を再結合して変換完了。
まずは変換対象の10進数「26.625」を整数部分と小数部分に分解します。整数部分は「26」、小数部分は「625」になりますね。まずは整数部分の計算です。ひたすら2で割っていきます。
- 26÷2=13 余り0
- 13÷2=6 余り1
- 6÷2=3 余り0
- 3÷2=1 余り1
- 1÷2=0 余り1(商が0になったので演算終了)
一方、小数部分はひたすら2をかけていきます。
- 0.625×2=1.25 (積の整数部分 1)
- 0.25×2=0.5 (積の整数部分 0)
- 0.5×2=1.0 (積の整数部分 1 小数部分が0になったので演算終了)
2進数→10進数の変換
今度は2進数を10進数に変換します。今度は2進数の「11010.101」を10進数に直します。今度は桁の重みを使って計算します。2進数におけるp桁目の桁の重みは、
- 整数部分の桁の重み=2の(p-1)乗
- 小数部分の桁の重み=2の(-p)乗
桁の数字 | 1 | 1 | 0 | 1 | 0 | . | 1 | 0 | 1 |
桁の重み | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 | . | 2^(-1) | 2^(-2) | 2^(-3) |
桁の重み | 16 | 8 | 4 | 2 | 1 | . | 1/2 (0.5) | 1/4 (0.25) | 1/8 (0.125) |
桁の重み×桁の数字 | 16 | 8 | 0 | 2 | 0 | . | 0.5 | 0 | 0.125 |
参考サイト