2進数と10進数の違い・変換について【基本情報技術者資格を取ろう】

10進数と2進数

10進数と2進数とは、数字の表し方を示す方式です。

10進数と2進数の他にも16進数等もあります。

○進数の○の部分の数字は、「桁が繰り上がるときのルール(基準となる数字)」を指します。

私たちが普段使っている数字は10進数で表されているので、10進数を例に考えてみましょう。

例えば、普段私たちは0,1,2,3,4,5,6,7,8,9の次は?と聞かれたら、10と答えますよね。
9までは1桁で、10で2桁に繰り上がりました。
同様に、3桁に繰り上がるときは、100(10×10)で、4桁に繰り上がるときは1000(10×10×10)で繰り上がります。

「10」という数字を基準に桁を繰り上げて表現しているわけです。

このように、実は数字には桁を繰り上げるときのルールがあり、ルールによって、10進数、2進数といったように表現の仕方が変わります。

10進数とは

10進数とは、「10」を基準に桁が繰り上がる数字の表し方です。

普段、私たちが普通に使っている数字表現はこの10進数で表されています。

普通に使っているものなので、当たり前の話が続きますが、この後で説明する2進数を理解しやすくする為に、改めて10進数の数字について、説明します。

10進数は、10で桁が繰り上がるので、「0~9」で数字を表現しています。

具体的な数字表現のルールとしては、以下のような感じです。

  • 1桁目:一の位(10の0乗(1)の位)
  • 2桁目:十の位(10の1乗(10)の位)
  • 3桁目:百の位(10の2乗(10×10)の位)
  • 4桁目:千の位(10の3乗(10×10×10)の位)
  • 5桁目:万の位(10の4乗(10×10×10×10)の位)

例えば、10進数の「15」は、一の位が「5」、十の位が「1」なので、分解してみると、
1×5+10×1=5+10=「15」と表すことができます。

10進数の「26」は、一の位が「6」、十の位が「2」なので、分解してみると、
1×6+10×2=6+20=「26」と表すことができます。

2進数とは

2進数とは、「2」を基準に桁が繰り上がる数字の表し方です。

イメージがつかないと思うので、2進数の表し方の例を出すと、以下のようなイメージです。
※具体的な解説は後程します。

  • 10進数の「15」を2進数で表すと「1111」
  • 10進数の「26」を2進数で表すと「11010」

2進数では、2で桁が繰り上がってしまうので、[0」と「1」だけで数字を表現します。

では、具体的にどのようなルールで数字を表現しているかを解説していきます。

  • 1桁目:一の位(2の0乗(1)の位)
  • 2桁目:二の位(2の1乗(2)の位)
  • 3桁目:四の位(2の2乗(2×2)の位)
  • 4桁目:八の位(2の3乗(2×2×2)の位)
  • 5桁目:十六の位(2の4乗(2×2×2×2)の位)

例えば、「1111」であれば、一の位(1桁目)が1、二の位(2桁目)が1、四の位(3桁目)が1、八の位(4桁目)が1です。
つまり、10進数で表すと、1×1+2×1+4×1+8×1=1+2+4+8=「15」となります。

「11010」であれば、一の位(1桁目)が0、二の位(2桁目)が1、四の位(3桁目)が0、八の位(4桁目)が1、十六の位(5桁目)が1です。
10進数で表すと、1×0+2×1+4×0+8×1+16×1=0+2+0+8+16=「26」となります。

2進数はコンピュータや機械が理解するための数字表現として使われます。

コンピュータや機械は2進数で「数字」を理解して、私たちが分かるように「文字」として10進数で表しています。
(「1101」のような形で計算を行い、「13」のように画面に映している感じです。)

10進数と2進数の変換

○進数では、○の数字によって位(桁)が変わるので、位ごとに考える癖を付けると理解しやすいです。

例えば、2進数の「1110」は、一の位が「0」、二の位が「1」、四の位が「1」、八の位が「1」なので、10進数で表すと、1×0+2×1+4×1+8×1=0+2+4+8=「14」となります。

このように、10進数から2進数に変換するときは、「桁ごとに計算して、最後に合算する」が○進数の計算の基本的な考え方です。

2進数の他にも、16進数などがありますが、基本的に考え方は同じです。
(16進数ではアルファベットが登場したりするので、今回は説明を省きます)

ここまでの基本的な考え方を理解した上で、2進数を10進数に変換する公式をご紹介しておきます。(先ほどまでの計算と比べて楽だと思う方で、計算すればよいです。)

(1桁目)×2⁰+(2桁目)×2¹+(3桁目)×2²+・・・+(○桁目)×(2の○-1乗)

少し複雑なようですが、上記の式の×2の部分の数字を変えれば、他の○進数でも計算できます。
(ちなみに、○⁰、つまり、○の0乗は、○がどんな数字でも全て「1」です。)

公式は慣れたら使えばよいです。

公式は少し複雑なので、ややこしく思えてしまうかもしれませんが、「位の基準となる数字が変わること」「位・桁ごとに計算して合算すること」を覚えておけば計算できます。

逆に、10進数から2進数に変換するときは、「2進数の一番大きな桁がどの位・桁になるか」から考えていきます。

2進数の桁は、一の位、二の位、四の位、八の位、十六の位、三十二の位・・・と位が増えていきます。

例えば、10進数の「13」を表す際に、2進数はどの桁が一番大きくなるかというと、十六の位だと「13」を超えてしまうので、八の位が一番大きな桁になります。

八の位が「1」になることが決まりました。次に、「8」を表現できたので、残りの13-8=「5」を表現していきます。

2進数で八の位の1つ下は四の位です。「5」は「4」が入っているので、四の位も「1」にします。

これで残りは、5-4=「1」となります。2進数で四の位の1つ下は二の位です。
「1」は「2」が入らないので、二の位は「0」とします。

2進数で二の位の1つ下は一の位です。
(少し日本語が変ですが)「1」は「1」が入っているので、一の位は「1」とします。

合わせると、10進数の「13」は2進数では、八の位が「1」、四の位が「1」、二の位が「0」、一の位が「1」、つまり、「1101」と表現します。

 

タイトルとURLをコピーしました