2進数と10進数の基本|2進数変換が簡単にできるようになる

ねこ
コンピュータにはボクたちが普段使う0〜9の数字はなくて、0と1の2つしかないんだよね?
そうそう!コンピュータは0と1しか理解できないんだ。私たちが使う数字をコンピュータに伝えるには、0と1の2進数に変換する必要があるんだよ
なつめ

 

どうも!エンジニア兼ライターのなつめです。
今回の記事では、2進数について知っておきたい基礎知識初心者・未経験者にもわかりやすく説明していきます。

こんな方におすすめ

  • 2進数とは何?2進数の考え方を基礎からしっかり学びたい!
  • 普段使っている数字(10進数)を2進数に変換したい!
  • 2進数から10進数、10進数から2進数へスムーズに変換できる方法を知りたい!
  • 基数変換がちゃんと理解できているか、練習問題を解いて確認したい!
  • 基数の考え方を理解したい!
  • 2進数と10進数の対応表を確認したい!
  • 2進数で足し算・引き算・掛け算など計算する方法を知りたい!

 

2進数を勉強し始めた、もしくは勉強したい方にとっては、ぜひとも読んでほしい記事です。
また2進数はエンジニアにとって、基本の考え方なのでしっかりと理解しておきましょう。

ぜひ最後まで読んでいってくださいね!

 

2進数とは?10進数との違い

私たちが普段使っている数字、例えば「1. 2. 3. 4 ... 9. 10. 11. 12 ... 99. 100. 101 ...」10進数と言います。
10になったら桁が上がりますね。

対して、2で桁が上がる数字を2進数と言います。
2進数には0と1しかなく、「0. 1. 10. 11 ...」のように数えていきます。

コンピュータは、私たちが使っている10進数は理解できません。
全てのデータを2進数によって表現しています。

そのため私たちが10進数で表現している数字は、2進数に変換されコンピュータに伝えられています。

ねこ
どうしてわざわざ2進数なんて、まどろっこしいことするの?ボクたちが使う10進数に合わせた方が分かりやすいじゃん・・・

コンピュータで2進数が使われる理由は、0と1の2通りがあれば、電圧がONかOFFかの電気信号に対応させて扱うことができるからです。

1をTrue(真)つまり電圧が通っている状態ON0をFalse(偽)つまり電圧が通っていない状態OFFで表現することができます。

電圧がONかOFFの2通りのみで表現できる2進数は、非常にシンプルでコンピュータにとって都合が良かったのです。

 

基数を押さえて数字を表現してみよう

2進数をしっかりと理解するためには、基数という考え方を知っておかなければなりません。

基数とは?

数値表現の基になる数値。1桁で数えられる数の個数

 

私たちが普段使っている数字は、10を基数とした表現です。
10を基数とした表現を「10進数」と言います。

10進数では、1桁で「0〜9」10個の数を数えられますね。
そして、10になった段階で桁が上がります。

 

10進数における桁上がり

なつめ
小学生じゃないんだから今さら桁上がりなんて・・・と言わずに、慣れ親しんでいる10進数でしっかりと桁について理解しておこう!

まず、普段通りに「0」から数字を数えてみましょう。

0 1 2 3 4 5 6 7 8 9 10 11 ...

 

以上のように数えていきますね。

最初の「0〜9」までの10個の数字が、1桁に入る数字です。
「9」より上の数字になった時に、桁が上がり2桁である「10」になります。

この時、一の位は「1」の量を表し、十の位は「10」の量を表しています。

例えば『23』という数字があった場合、桁上がりが2回発生し「10」が2個「1」が3個で『23』と表現されます。

なつめ
次は3桁の数字について考えてみよう!

「123」という3桁の10進数が表現している量について、考えてみましょう。

前述の通り、一の位は「1」の量を表し、十の位は「10」の量を表しています。
百の位は「100」の量を表している桁です。

つまり、「123」という10進数が表す量は、「100が1つ」「10が2つ」「1が3つ」集まったものになります。

桁の重みを意識してみよう

10進数のn桁目が表現している量を、下記のように表します。

  1. 1桁目なら・・・  1-1 = 0 で、(=1)が桁の重みになる
  2. 2桁目なら・・・ 2-1 = 1 で、(=10)が桁の重みになる
  3. 3桁目なら・・・ 3-1 = 2 で、(=100)が桁の重みになる

n桁目が表現する量は、基数の「n-1 乗」です。
これは、他の基数でも同様です。

このように、各桁が表現している量を桁の重みと言います。

2進数でも、桁の考え方は10進数と同じです。

 

2進数とは?2進数で数値を表現できるようになろう

なつめ
ここで、もう一度2進数について考えていきましょう!

2進数は、2を基数とする数字です。

1桁で、「0と1」2個の数字を数えることができます。
そして2になったら、桁が上がります。

角桁に出てくる数字は、必ず0か1です。

 

2進数における桁上がり

まずは、2進数における桁の重みについて理解していきましょう。

「111」という3桁の2進数が表現している量を考えます。

2進数「111」は、10進数で表現すると「7」になります

 

桁の重みは、10進数と同じように「n桁目が表現する量は、基数のn-1 乗です。

具体的に、2進数の桁の重みを考えていきましょう。

  1. 1桁目なら・・・  1-1 = 0 で、(=1)が桁の重みになる
  2. 2桁目なら・・・ 2-1 = 1 で、(=2)が桁の重みになる
  3. 3桁目なら・・・ 3-1 = 2 で、(=4)が桁の重みになる

つまり、2進数の「111」が表す量は、「4が1つ」「2が1つ」「1が1つ」集まったものになります。

なつめ
2進数の桁上がりについてイメージしにくい方は、以下の図を参考にイメージしてみてニャ

2進数における1桁目は、「1」がいくつあるかを表現します。
入る数字は、0〜1個までです。

1が2個になった時に、まとめて1つ上の桁に持っていきます。

7を2進数で表現する場合、4回桁上がりが発生し「4」が1個「2」が1個「1」が1個で「111」と表現します。

 

2進数と10進数の対応表

2進数と10進数を対応させた表を作成しましたので、ご確認ください。

15までの数値を記載しましたが、よく使う数字になるので暗記してしまってもいいかもしれません。

10進数表現 2進数表現
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111

上位桁の0は省力してもOKです

基数変換とは?数値を変換する方法

10進数から2進数、2進数から10進数のように、表現する際の基数を変えることを基数変換と言います。

表現している量(数値)は同じです!

 

量がいくらになるかを考えて、目的の基数で表現しなおします。
具体的な変換方法について、見ていきましょう!

 

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

まずは、公式的な変換方法をご紹介します。

 

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


10進数整数をX、基数をBとする

  • XをBで割り、その商Sと余りAを求める
  • Sが0なら変換処理を終え、求めたAを求めた順とは逆に左から並べn進数の数を得る
    商Sが0でなければ、③の処理へ進む
  • 商Sを整数Xの新しい数とし、①の処理へ戻る

 

と、言ってもよく分かりませんよね。

実際に例をあげて説明していきます!

例題

10進数の「18」を2進数へ変換する

 

10進数から2進数へ変換する時は、以下のように変換したい数字(今回の場合は18)を2で割っていきます。
商の横に、余りがあれば「1」余りがなければ「0」と記載していきます。

商が0になった段階で、計算をやめましょう。

2進数へ変換するためには、計算した下から順に余りを並べていきます

ということで、18を10進数から2進数へ変換すると「10010」になります。

 

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

2進数から10進数へ変換する時は、その数字がどのくらいの量あるのかを考えましょう。

各桁に桁の重みをかけた合計になります。
桁の重みは、普段使い慣れている10進数で表すといいでしょう。

2進数から10進数への変換は、量に直した時点で完了します。

分かりにくいかと思いますので、具体例をあげていきます!

 

例題

2進数「110」を10進数へ変換する

 

まずは、各桁の重みをそれぞれ計算してきます。
桁の重みについては、本記事で説明しましたのでご確認ください。
桁の重みの計算方法を確認

 

「桁の重み」「各桁の数字」掛け算し、合計すると10進数の数字になります。

2進数の桁の重みは、右から20212223と覚えておきましょう

右から、1. 2. 4. 8. 16. 32. 64. 128 ぐらいまでは、桁の重みを覚えておくと便利だと思います。
どんどん2乗していけば、簡単に桁の重みを割り出せます。

 

2進数から16進数への変換

2進数から16進数への変換については、こちらの記事で詳しく説明しています。
16進数についても解説しているので、ぜひ読んでみてくださいね!

こちらもCHECK

16進数・8進数とは|わかりやすく使い方を解説した入門記事

16進数・8進数とは?変換方法やコンピュータの単位「ビット」について詳しく説明した「16進数含む対応早見表」「理解度チェック練習問題」付きの記事

続きを見る

 

2進数変換できるかな?練習問題でチェックしよう

なつめ
さて、それでは2進数変換をしっかり理解しているか簡単な練習問題を出してみます!

10進数から2進数へ変換してみましょう。

問1.7

+ 答えはこちら

111

問2.16

+ 答えはこちら

10000

問3.20

+ 答えはこちら

10100

問4.176

+ 答えはこちら

1011 0000

問5.255

+ 答えはこちら

1111 1111

次は、2進数から10進数へ変換してみましょう。

問1.11

+ 答えはこちら

3

問2.101

+ 答えはこちら

5

問3.1111

+ 答えはこちら

15

問4.100101

+ 答えはこちら

37

問5.1111 0000

+ 答えはこちら

240

2進数で計算!足し算・引き算・掛け算する方法

2進数では、10進数と同じように足し算・引き算・掛け算など計算ができます。
私たちが通常行う計算方法とは、少し異なりますので慣れが必要です。

詳しく説明すると長くなりますので、以下の記事にまとめてあります。
ぜひご覧くださいね!

こちらもCHECK

2進数の計算方法をわかりやすく簡単解説!

2進数の計算方法「加算・減算・乗算・除算」負数の表現・2の補数、シフト演算・ビットシフトを簡単解説した「負数の対応早見表」付きの記事

続きを見る

 

2進数の表現に慣れよう!

なつめ
2進数について、まとめていくニャ!
  • 数値表現にはいろいろな方法がある

私たちが普段使用しているのは「10進数」で、コンピュータは「2進数」を使っている
2進数と10進数の違いは、基数が異なること

 

  • 基数変換をすると、数値の表現方法を変えることができる

2進数から10進数へ、10進数から2進数への変換も思いのまま

 

  • 基数変換には公式的な方法があるので、従って計算する

 

2進数は、エンジニアとしての基本ですのでしっかりとチェックしておきましょう。
最後までお読みいただき、ありがとうございます!

-コンピュータの基礎知識

Copyright© 未経験からエンジニアBLOG , 2021 All Rights Reserved.