IT
PR

2進数とは?なぜ使う?|10進数からの簡単な変換方法(小数含む)

アイキャッチ:2進数
CHA
記事内に商品プロモーションを含む場合があります

コンピュータの中で数字ってどのように表されているか知っていますか?
実は0と1だけで表現されているんです。

今回の記事ではIT入門編ということで、電気を数字で表す方法の2進数について解説します。
プログラミングしかしないから知らなくてもいい…なんてことはなく、コンピュータを使って作業をするのであれば知っていて損はない基礎知識です。
分かりやすく解説しますので、一緒に理解を深めましょう!

今回の記事で解説すること
  • 2進数とは?
  • なぜ2進数が使われているのか?
  • 2進数から10進数への変換方法
  • 10進数から2進数への変換方法
スポンサーリンク

解説動画

今回の記事はこちらの動画をまとめたものです。

2進数とは?基本知識

まずは2進数がどんなものなのかを理解しましょう。

普段使っている数字は10進数

私たちが普段何気なく使っている数字は10進数と言います。

10進数とは

10の位、1の位、1/10の位、1/100の位…それぞれの位が10ごとにあります。
1つの位に、0~9の10パターンの数字を入れて表現しています。

2進数

コンピュータで使われるのは10進数ではなく2進数です。

2進数とは

4の位、2の位、1の位、1/2の位、1/4の位…それぞれの位が2のn乗で表現されます。
1つの位に、0か1の2パターンの数字を入れて表現しています。
つまり、

2進数とは0と1の2パターンだけで値を表現できる!

これが2進数です。

なぜコンピュータの中で2進数が使われるのか

なぜコンピュータの中で10進数を使わず2進数を使うのでしょうか。

それは
1.数値を電気的に表現でき
2.半導体を使って電気的に計算できる
からなんです。

数値を電気的に表現する方法

ON/OFFのできるスイッチ(機械)があったとします。
スイッチのOFFを0、ONを1とすると…

2進数をスイッチで表す

このような表現ができます。
OFF、ON、OFF、ON、ONで01011と表せちゃうんです。

チャボット
チャボット

な、なんだそれ…

さらにスイッチに回路を繋げて、OFFを0V、ONを5Vとしましょう。

2進数を電気で表す

すると0V、5V、0V、5V、5Vで01011と表せます。
5本の線で0~31までの数値を電気的に表現することができるんです。

チャボット
チャボット

そうか、電気は話せないから
ON/OFFで伝えるしかないのか!

半導体を使って電気的に自動計算する方法

ではその0と1で表された2進数はどのように計算をしているのでしょう。
それは半導体を使って計算しているんです。

半導体素子と言われるパーツが計算をしてくれるんですよ。

論理回路のNOTとAND
チャボット
チャボット

NOTやANDが何になるんだ…

CHA
CHA

これ1個じゃ何だそれってなります(笑)
でも組み合わせれば計算できるようになります!

2進数の計算例:1桁の足し算

2進数の1桁の足し算は4パターンしかありません。
足す数、足される数をそれぞれA、Bとします。
また答えの2桁目(桁上がり)をC、1桁目(合計)をSとします。

論理回路と2進数の計算

これを機械化すると、入力のAとBの2本の線がマシンに入り、出力のCとSの2本の線がマシンから出てくるイメージです。

このマシン内に先ほどの半導体素子と言われるパーツを入れて設計すればいいのです。

論理回路と2進数の計算

実際どのような回路になるかは難しくなるので省略します。
気になる方は論理回路などで検索して勉強してみてください!

もちろん、足し算だけでなく、引き算、かけ算、わり算…と計算ができます。
それをぎゅーっとつめて小さくまとめたやつがCPUです。

CHA
CHA

コンピュータの脳みそです!

以上、コンピュータで2進数を使う理由について解説しました。

1.数値を電気的に表現でき
2.半導体を使って電気的に計算できる
というのが理解できたでしょうか?

2進数から10進数に変換する方法

2進数を10進数に変換してみましょう。

例えば10110100で表された2進数。
128の位は存在する、32の位は存在する、16の位は存在する、4の位は存在する…と1がある位を足します。

2進数を10進数に変換する

すると128+32+16+4=180で10進数に変換することができます。

CHA
CHA

1がある位が何の位か分かれば、簡単に変換できます!

小数も同じように2進数から10進数に変換できる

もちろん小数の場合も同じように変換できます。
8の位、1の位、1/4の位、1/16の位…と1がある位を足します。

小数の2進数を10進数に変換する

8+1+0.25+0.0625=9.3125と10進数に変換できました。

10進数から2進数に変換する方法

10進数を2進数に変換してみましょう。
先ほどの2進数から10進数に変換する方法と逆のことをしていきます。

10進数で122という数字、8桁の2進数に変換します。
128の位の128と比べると、122の方が小さいので、128の位は0です。
次に64の位の64と比べると、122の方が大きいので、64の位は1です。

10進数を2進数に変換する

32の位の32と比べると、(先ほど1が入った)64+32=96で122の方が大きいので、32の位は1です。
・・・と上位の位から、1が入る位のみ足して122を超さないか比較し、1または0を入れていくと2進数に変換できます。
10進数の122は2進数では01111010となります。

チャボット
チャボット

これ結構大変だよ…

CHA
CHA

もうちょっと機械的にできる方法を解説します!

10進数から2進数に簡単に変換する方法

変換したい10進数を2で割っていく方法です。

122÷2=61あまり0、61÷2=30あまり1、30÷2=15あまり0…とどんどん割ります。
商(割り算の答え)が0になったところで終わります。

10進数を2進数に変換する

最後に余り部分を下から読み上げて、1111010つまり8桁だと01111010となります。

チャボット
チャボット

どうして下からなの?

最初の122÷2=61あまり0は、(あまり0なので)1の位はないという意味です。
次の61÷2=30あまり1は、(あまり1なので)2の位はある
その次の30÷2=15あまり0は、(あまり0なので)4の位はない…となっているのです。

小数も10進数から2進数に変換できる

まずは変換したい10進数を、整数と小数にわけます。

分けたあとは整数のみの10進数から2進数への変換方法と同じです。
1/2の位の0.5と比べると、0.25の方が小さいので、1/2の位は0です。
次に1/4の位の0.25と比べると、0.25と同じなので、1/4の位は1になります。

小数の10進数を2進数に変換する

比較する値同士が同じになったので終わります。
つまり2.25という10進数は、10.01という2進数で表されます。

チャボット
チャボット

これも簡単な方法ある?

小数の場合は、2倍していく方法があります。

小数の10進数を2進数に変換する

0.25の場合は、0.25×2=0.5で1/2の位は0
0.5×2=1.0で1/4の位は1です。
小数点以下のみ2倍していきますので、小数点以下が0になるとそこで終わります。

2進数の場合、ほとんどの小数は誤差を含んでいる

0.25では簡単だったので、0.3を2進数に変換していきましょう。

0.3×2=0.6、0.6×2=1.2、(小数部分のみ2倍するので)0.2×2=0.4、
0.4×2=0.8、0.8×2=1.6、(小数部分のみ2倍するので)0.6×2=1.2、、、

0.3を2進数に変換する

気付いたでしょうか。
これずっと続いてしまうのです。
つまり0.3を2進数にすると0.01001100・・・

もし小数点以下8桁で切り捨てると、0.01001100となり、再度10進数に変換すると
0.25+0.03125+0.015625=0.296875となります。

つまり、ほとんどの2進数で表される小数は誤差を含んでいる、ということになります。
プログラミングをするときはこのことに気を付けなくてはなりません。

CHA
CHA

誤差として±1%にしたり
ある数値になったら→ある数値を超えたらにしたり
工夫してプログラミングをします!

まとめ

今回の記事では、コンピュータの中で使われている2進数について解説しました。

今回の記事で解説したこと
  • 2進数とは?
  • なぜ2進数が使われているのか?
  • 2進数から10進数への変換方法
  • 10進数から2進数への変換方法

とくに0.3が誤差を含むということは、驚いた方も多いのではないでしょうか。
コンピュータにも苦手なことがあるんですね!

2進数について学んだけど、ロボット作りはまだ先でいいかな…と後回しにしていませんか?
電子工作やロボット作りを始めるなら、豆電球回路から始めることをおすすめしています。
これなら簡単に始められるので、最初の一歩を踏み出しましょう

あわせて読みたい
電子工作・ロボット作りの始め方!小学生や初心者におすすめは豆電球
電子工作・ロボット作りの始め方!小学生や初心者におすすめは豆電球

最後まで読んでいただき、ありがとうございました!
以上、CHAでした!

スポンサーリンク
ABOUT ME
CHA
「勉強に自由を!」をスローガンに、学校に限らず、好きな時に、好きな場所で、好きなことをYouTubeで勉強できるようになればいいなと思って授業動画を作っています!
記事URLをコピーしました