基本情報で必要な数学(2進数その1)
2進数とは
この記事では基本情報の参考書の最初に出てくる2進数についてまとめます。
ちなみに、数学が得意な人はともかく、参考書で2進数を最初に持ってこられると。挫折しやすくなるんじゃないでしょうか。もっと、とっつきやすいテーマから入った方がいいんじゃないかしら?
ちなみに、基本情報では2進数の計算そのものだけでなく、IPアドレスの計算やハードウェア分野の計算問題などで必要となります。
2進数と10進数
普通、人は
\begin{array}{rrrrrrrrrr}
& 0,&1,&2,&3,&4,&5,&6,&7,&8,&9 \\
& 10,& 11,& 12.& 13,&14,&15,&16,&17,&18,&19\\
\end{array}
って数えます。(よね?)
それが2進数だと、
\begin{array}{rr}
0,& 1 \\
10,&11\\
100&101\\
110&111\\
\vdots
\end{array}
みたいに数えるということです。
10進数は9まで数えたら0にリセットされて次の位に1が加算されます。
2進数は1まで数えたら、0にリセットされて次の位に1が加算されます。
つまり、数え方のルールが違うというだけです。
ちなみに、私は別の理解をしています。その解説に入る前に指数について紹介しましょう。
指数
指数は同じ数を何回かけたかを示す数字です。
たとえを出しましょう。
2を3回かけると
$$
2\times 2 \times 2 = 2^{3}
$$
と表されます。10の3乗と読みます。
この3が指数です。この指数についてつぎの公式が成立します。
ちなみに、
2 = 2^1\\
2^{0}=1
です。
どんな数字も指数が1の形で書けます。1つねに1は省略されています。
また、どんな大きな数字も指数に$0$が来ると$1$になります。
そして、指数について次の公式が成立します。
$$
2^{2}\times2^{3}=2^{2+3}=2^{5}
$$
10進数の理解と2進数の理解
10進数について
たとえば、10進数で$1573$はこんな風に見ることが出来ます。
\begin{eqnarray}
1573 &=& 1\times1000 &+& 5\times100 &+& 7\times10 &+& 3 \times 1\\
&=& 1\times10^{3} &+& 5\times10^{2} &+& 7\times10^{1} &+& 3 \times 10^{0}
\end{eqnarray}
10進数の10は各位を10の○○乗に分解して考えることができるわけです。
この理解で足し算を考えると
\begin{eqnarray}
1573 + 7 &=& 1\times10^{3} &+& 5\times10^{2} &+& 7\times10^{1} &+& 3 \times 10^{0} + 7\times10^{0}\\
&=& 1\times10^{3} &+& 5\times10^{2} &+& 7\times10^{1} &+& 10 \times 10^{0} \\
&=& 1\times10^{3} &+& 5\times10^{2} &+& 7\times10^{1} &+& 10^{1} \times 1 + 0 \\
&=& 1\times10^{3} &+& 5\times10^{2} &+& 8\times10^{1} &+& 0 \times10^{0} \\
&=& 1280
\end{eqnarray}
ここでは、因数分解とか数字の1倍や0倍が使われています。
2進数について
では2進数はどうでしょうか?2進数も10進数と同じです。
2進数の2は各位を2の○○乗に分解して考えることができるわけです。
2進数で$1101$は
1101 = 1 \times 2^{3} + 1 \times 2^{2} + 0 \times 2^{1} + 1\times 2^{0}
です。足し算も
\begin{eqnarray}
1101 + 1 &=& 1 \times 2^{3} + 1 \times 2^{2} + 0 \times 2^{1} + 1\times 2^{0} * 1\times2^{0}\\
&=& 1 \times 2^{3} + 1 \times 2^{2} + 0 \times 2^{1} + 2\times 2^{0}\\
&=& 1 \times 2^{3} + 1 \times 2^{2} + 0 \times 2^{1} + 2^{0} \times 1 + 0\times2^{0}\\
&=& 1 \times 2^{3} + 1 \times 2^{2} + 1 \times 2^{1} + 0\times2^{0}\\
&=& 1110
\end{eqnarray}
と考えられるわけです。数学的にはそんなに難しい計算はしていませんが、指数で分解するということを理解してください。
2進数への変換
情報処理試験の計算で必須の計算を紹介しましょう。
よく、2の○○乗であまりを割っていく割れたら1,割れないと0といいます。
では、なんでそんなことが出来るのでしょうか?
それはつぎの画像で見てください。
このとき$X_{10}$は0か1です。でも、$X_{10}$が0ならこんな計算ができないわけです。だから、1とわかるわけです。そして、また余りを$2^{9},2^{8}...$とつぎつぎに割っていくわけです。
割れたら0、割れないと1です。
ちなみに、2の何乗とかは暗記しておいた方がいいです。なるべく速く計算できるようにしておいてください。
$2^{X}$ | 数字 | $2^{X}$ | 数字 | |
---|---|---|---|---|
$2^{10}$ | 1024 | $2^{5}$ | 32 | |
$2^{9}$ | 512 | $2^{4}$ | 16 | |
$2^{8}$ | 256 | $2^{3}$ | 8 | |
$2^{7}$ | 128 | $2^{2}$ | 4 | |
$2^{6}$ | 64 | $2^{1}$ | 2 |
2進数についてのまとめ
ここまでで、2進数についてと10進数についてを紹介しました。
基本情報試験では避けて通れない道ですから、頑張ってください。
その2では補数について紹介します。
その2のリンク
2進数その2の記事
Author And Source
この問題について(基本情報で必要な数学(2進数その1)), 我々は、より多くの情報をここで見つけました https://qiita.com/Naoki_H/items/972fb37ad416566f8333著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .