ブログ

進数ってなに?~情報で進数を使う理由とは~

こんにちは!

河内長野駅から徒歩1分!

逆転合格 の 武田塾 河内長野校

です。

今年がある種旬な共通テスト教科情報の為の進数の話をしていきたいと思います!!

 

で、案外その辺に溢れかえる進数なんですが、ご存じな物ありますか?

1年[365]進法、1年[12]進法、1月…は決まっていないからパス!1週間[7]進法、1日[24]進法、1時間[60]進法、1分[60]進法、1秒以下は10進法で割っていく感じですね。

基本として、X進数とは0から数えてX―1までを第1桁目に収めて、Xに至った時に2桁目に繰り上がりする数字のことを言います。

 

お金は基本10進法で1000までは同じ単位内、なので1万進法。万➩1万倍➩億➩1万倍➩兆…ですね。

 

はい、という事で案外「進法」というのは様々なルールで存在しているのが分かります。

では、情報において何で進法が必要か?というお話です。

 

ええ、今皆さんが見て頂いているディスプレイの表記、これも情報で行う進数によって計算された結果なんですが、とても数学には見えませんよね?むしろ、思いっきり文系の文章にしか見えません。ですが、確かに今これを読んでいる皆さんの目の前には確かに情報の成果が今も確実に表示されているんです。

 

なら、勿体ぶらずに教えろよ!という所ですよね。

それでは、少々詳しいお話をしていきましょう。

 

受験に関するお悩みや不安、河内長野校で解決しませんか?
無料相談実施中!! お気軽にお問い合わせください!

無料受験相談

 

 

BitとByte

情報において基準となる単位があります。それはBit(ビット)です。聞いて、某宇宙で戦争する無人誘導兵器を連想した人、その間性私と近いです。一昔前にはビットコインという仮想通貨がありましたね。アレのBitとも言えます。

 

そのBitとは情報においては「0と1」で示す……とかしたり顔で説明する場合が多いんですが、目の前の画面の[.]に注目してみて下さい。この白のエリアが0で、黒のエリアが1を表します。つまり、「在る(on)と無し(off)」それを細かく制御しているのは電圧です。方形波を想像して貰うと分かりやすいんですが、_| ̄|_みたいな波形です。

0 1 0 off on off

_| ̄|_  _| ̄|_
あくまでも例えですが…

非常に見難いですが、下記のような状態が半角2文字≒全角1文字

全角文字は2Byte=つまり、横列16桁、縦列16桁の塊です。

□□□□□□□□□□□□□□□□
□□□■■□□□□□□■■□□□

□□■■■■□□□□■■■□□□

□■■■■■■□□■■■■□□□

□■■□□■■□□□□■■□□□

□■■□□■■□□□□■■□□□

□■■□□■■□□□□■■□□□
□■■□□■■□□□□■■□□□
□■■□□■■□□□□■■□□□
□■■□□■■□□□□■■□□□
□■■□□■■□□□□■■□□□
□■■□□■■□□□□■■□□□
□■■■■■■□□□■■■■□□
□□■■■■□□□■■■■■■□
□□□■■□□□□■■■■■■□
□□□□□□□□□□□□□□□□

アスキーアートかよ!と思うかもしれませんが、そのアスキーコードを使った文字表現が情報の基礎です。

ここから白マスと黒ますを0と1に置き換えてみましょうか

 

0000000000000000
0001100000011000
0011110000111000
111111001111000
110011000011000
110011000011000
110011000011000
110011000011000
110011000011000
110011000011000
110011000011000
110011000011000
111111000111100
001111000111111
000110000111111
0000000000000000

となります。

そして、0と1で現わすという事は2が無いので桁が繰り上がる事を表します。

◎01+01=10()

つまり、コレは2進数で出来ています。

それでは、2進数として計算してみましょうか?

 

1111111111111111(2)はそのまま普段使っている10進数に直すのは中々難しいです。
じゃあ、どうするか?といえば、こうします。

         ⇓

 (1111)(1111)(1111)(1111)4桁4つに分けます!
どうしてか?
1111(2)
これを10進数に直そうとすると…
+2+2+2
    ⇓
8 + 4+ 2 +1
ここまでは指数の計算なので、難しくないですよね?
基本はこの形を覚えておいて下さい。

 

 

8+4+2+1=15(10)

8+0+2+0=10(10)

0+4+0+1=5(10)

という感じで、表にして掛け算と足し算を使うと簡単に2進数と10進数に直せます。
表に直した10進数を横の列も全て足し合わせると4桁の2進数を10進数に直せます。

この4桁の2進数は上記の表から8+4+2+1=15となるので、
最大値は15(10)で最小値は0(10)です。

つまり、範囲外の5桁目は16が入ります(2)。2進数の4桁は最大15(10)であり、情報で使う16進数の1桁目と同じです。
1桁で16が表せる筈がない!?いいえ、表すんです。

 0

 1

 2

 3

  4

  5

  6

  7

  8

  9

 10

 11

 12

 13

 14

15

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

 0

 1

 2

 3

  4

  5

  6

  7

  8

  9

 

   

   

 

 

 

Fって何だよぉ!?って気持ち、分かります!!

16進数である以上、10で桁が上がるとダメですよね?ここは理解して頂けると思います。
ですので、16進数では10=A11=B12=C13=D14=E15=Fと表記します。
{16×(15)}+{(16×(15)}+{16×(15)}+{16×(15)}

と求める事になります。

流石に、16進数4桁を10進数に直す事は無いと思いますので、こんな感じで計算すると覚えて頂ければいいです。
むしろ、2進数➩16進数がメインになると思います。

では、これを踏まえて上記の「01」のアスキーアートを16進数表記してみましょうか。

8421 8421 8421 8421 

 ×    ×    ×    ×

0000 0000 0000 0000(2) ={0} {0} {0} {0} (16)
0001 1000 0001 1000(2) ={1} {8} {1} {8} (16)
0011 1100 0011 1000(2) ={3} {C} {3} {8} (16)
0111 1110 0111 1000(2) ={7} {E} {7} {8} (16)
0110 0110 0001 1000(2) ={6} {6} {1} {8} (16)
0110 0110 0001 1000(2) ={6} {6} {1} {8} (16)
0110 0110 0001 1000(2) ={6} {6} {1} {8} (16)
0110 0110 0001 1000(2) ={6} {6} {1} {8} (16)

0110 0110 0001 1000(2) ={6} {6} {1} {8} (16)
0110 0110 0001 1000(2) ={6} {6} {1} {8} (16)
0110 0110 0001 1000(2) ={6} {6} {1} {8} (16)
0110 0110 0001 1000(2) ={6} {6} {1} {8} (16)
0111 1110 0011 1100(2) ={7} {E} {3} {C} (16)
0011 1100 0111 1110(2) ={3} {C} {7} {E} (16)
0001 1000 0111 1110(2) ={1} {8} {7} {E} (16)
0000 0000 0000 0000(2) ={0} {0} {0} {0} (16)

このような形で、2進数4桁16進数1桁で表現することが出来ます。
そして、じゃあそもそも何故全角半角2桁を表記したかと言えば、上でさらっと触れましたが、半角1文字1Byte全角1文字2Byteです。

 

1Byte8(桁)Bitなので、上記の色分けで言えば2色分の8桁を表します。赤青と黄灰でそれぞれ1Byteずつ。

2Byteで約6万5千通り近くを表す事が出来ます。それが更に16倍あって、約100万通り以上の配列から全角文字の1文字ずつが作られています。

また、パソコン含めた半導体による計算機は基本的には加算による計算しかできません。これを逆手にとって、対応桁外に桁を飛ばす事で足しても数が小さくなるという内部処理をしています。

その理由としては情報の他の分野になるド・モルガンの定理を使う論理回路の問題があります。足しかけ反転の3種類で処理するため、計算の基礎もまた足し算と掛け算、電圧の反転による0と1の反転の表現方法だけで複雑な計算をしています。

 

と、細かい事は置いておいて……

まとめ
◎PCの画面上の黒い点はある=1で、白=0で表現される。

◎1(ON)と0(OFF)なので、2進数で表現ができる。
◎2進数で表現する場合は、通常の10進数と同じく右が小さくて左が大きい。

1 1 1 1
8 4 2 1

8+4+2+1=15(10)

表化することで、掛け算と足し算で計算が可能になる。
2進数➩10進数の逆も可能

250(10)
128 64 32 16 8 4 2 1 (2)

250―128  Yes➩1

122―64   Yes➩1

58 ―32   Yes➩1

26 ―16   Yes➩1

10 ―8    Yes➩1

2  ―4(×0) No ➩0

2  ―2    Yes➩1

0  ―1(×0) No ➩0

       
11111010(2)


◎2進数➩16進数
(1111)(1010)(2)
8+4+2+1(10)   8+0+2+0(10)

15(10) 10(10)
      ⇓

( F(16)(=15(10)) )( A(16) (=10(10)) )
    ⇓
FA(16)

◎16進数➩2進数
F=15 A=10

 

15―8×1  10―8×1

7 ―4×1   2―4×0

3 ―2×1   2―2×1

1 ―1×1  0-1×0

                
(1111)(1010)(2)

この辺を押さえておくと、分かりやすいと思います。

 

さて、武田塾河内長野校には……

講師たちの大学の話も聞けますし、志望校選びの体験談も聞くことができます。

私たちと一緒に一緒に勉強してみませんか?

いきなり入塾はちょっと……という方、朗報です! 河内長野校では無料受験相談を行っています。

受験に関することならなんでもOK!

講師の話を聞くこともできます。

 

本当に無料ですし、相談したからと言って入塾必須でもありません。気軽に相談してくださいね。申し込みは、下のバナーから!

無料受験相談

 

 

 

 

それでは、さようなら。

 

 

 

 

あなたに合った勉強法を教えます!

無料受験相談に行ってみる