第三話 パソコンと数字(後編)
タマ
「今日は前回の続きやで!」
ミケ
「タマ先生!よろしくおねがいします!」
タマ
「先生か……ええ、響きやなぁ」
ミケ
「どうかしましたか?」
タマ
「いや、気にせんでええで」
ミケ
「変なタマさん……」
タマ
「まあ、ええやん!じゃあ、前回の続きや!
パソコンは0と1で計算してるんやけど
その“0か1か”の情報を“ビット”って呼ぶんやで」
ミケ
「ビット?」
タマ
「簡単に言うと2進数の1桁分の事や。
例えば、二進数で
”1000“やったら、“0と1”が4個並んでるから
この数字は4つの“ビット”が集まった物。
“10000000”やったら、8個並んでるから
この数字は8つの“ビット”が集まった物。
そんな感じやで!」
ミケ
「何となくわかりました!」
タマ
「それで十分やで。興味持ったら嫌でも覚えるやろし。重要なのはここからや。
そのbitが8個集まった物を“バイト”って呼ぶんやで。
こっちは聞いたことあるやろ?」
ミケ
「ハードディスクの容量とかで出てくるやつですか?」
タマ
「せや。その“バイト”や。ハードディスクの容量は
ビット8個分……“0か1か”の8個分の情報が、何個記憶できるか?を示した数値なんやで」
ミケ
「でも、“0か1か”の8個分だと大したことなさそうですね」
タマ
「そうでも無いで? 2進数で8桁やと
0〜255までの数字……256通りが表現できるんやからな!」
ミケ
「そんなに?」
タマ
「実際に考えてみたらわかるで!
00000000 ← 0
00000001 ← 1
00000010 ← 2
00000011 ← 3
00000100 ← 4
00000101 ← 5
00000110 ← 6
00000111 ← 7
00001000 ← 8」
ミケ
「いつまで続けるんですか?」
タマ
「これで、なんか気付けへんか……?」
ミケ
「いえ、特に……」
タマ
「もうええわ。正解は……
00000000 ← 0
00000001 ← 1
00000010 ← 2 ← 2
00000011 ← 3
00000100 ← 4 ← 2x2
00000101 ← 5
00000110 ← 6
00000111 ← 7
00001000 ← 8 ← 2x2x2」
ミケ
「あ! 桁が上がるごとにx2の数が増えてますね!」
タマ
「早よ気づいてや……せやで。
2進数は、桁が上がるごとに、x2ずつ増える様になってるんや。
だから、これで計算すると……
00000010 ← 2
00000100 ← 2x2(4)
00001000 ← 2x2x2(8)
00010000 ← 2x2x2x2(16)
00100000 ← 2x2x2x2x2(32)
01000000 ← 2x2x2x2x2x2(64)
10000000 ← 2x2x2x2x2x2x2(128)
ってなって、これで128。
これにx2して、“-1”すると
11111111 ← 128x2-1(255)
ってな感じやで!」
ミケ
「本当ですね! 255になりました!」
タマ
「前回の最後に言ってたパソコンで10進数が不便なんはここに理由があるんや。
基本的にパソコンでは
バイト単位、2の累乗で考えるから
十進数のキリのいい数字、100とか1000が
キリの悪い数字になってまうんや。
ミケ
「そうなんですね」
タマ
「慣れてくると256とか1024とかの方が綺麗な数字に見えてくるで?」
ミケ
「それは良く分かりませんが……
でも、これが画質処理になんの関係があるんですか?」
タマ
「ええ質問やな!
画像処理で主に使われる映像
例えば、ビットマップとかは
1つのデータの大きさがバイト……
簡単言うと0〜255の256段階で色の濃さを決めてるんや。
だからこれも基礎知識1つやで!」
ミケ
「わかりました! じゃあ、計算方法を覚えておきます!」
タマ
「いや、それは覚えんでもええで?
計算方法や無くて、なんで0〜255なのか?を説明したかっただけやし」
ミケ
「せっかく気合い入れたのに……」
タマ
「興味あったらその内、勝手に覚えるわ。
それにこの後話に2進数は出ない予定やし……」
ミケ
「そうなんですね……」
タマ
「まあ、それは良いとして……
今回はここまでや! ミケはん!おつかれさん!」
ミケ
「おつかれ様でした!」
今回のまとめ
・ビットが8個でバイト
・1バイトで0〜255 (注:符号無しの時)
・ビットマップの色は1バイト、256段階
次回は、「色と数字」の予定です。
次回不定期です。