京都教育大学 > 教育支援ネットワーク > WEB教材「授業のたね」 > 技術・情報 > 2進数教材
京都教育大学 教育支援ネットワーク

2進数教材

歯車0. 概要

 2進数の導入の話の「たね」と、演習の話の「たね」と補助教材を作成しました。

歯車1. 電源ボタンの秘密

電源スイッチ(プリンタ)  パソコンの周辺機器(特にプリンタ)の電源ボタンは、この図のように、縦棒と丸の記号がつけられています。
 ○が電源ONのように見えますが、実際は「縦棒がON」で、「丸がOFF」になっています。
 何故このような表記になっているのでしょうか。

 それはパソコンが2進数を使っているからなのです。
 一見、縦棒と丸に見えるこの記号ですが、実は「1」と「0」なのです。
 2進数では、1をON、0をOFFとして扱うことがあります。だから、「縦棒がON」で、「丸がOFF」なのです。  だからパソコンの周辺機器のスイッチはこのような図の形をしているのです。

 同じことがパソコンの電源ボタンにも言えます。
電源スイッチ(PC)  左の図はパソコンの電源ボタンです。パソコンの電源ボタンは、リンゴのような形をしています。
 ですが実際は、1と0を組み合わせた記号なのです。図の赤い部分が1で、黒い部分が0なのです。

 何気なく押している電源ボタンにもちゃんと意味があるのです。

歯車2. テレビゲームの最大値と2進数

 テレビゲームをプレイしていると、キャラクターの能力値が255で最大値となり、ストップすることがあります。
例えばドラゴンクエストのちからやファイナルファンタジーの攻撃力などです(どちらかといえばスーパーファミコンまでのシリーズ)。
999の方が最大値らしく見えてとても分かりやすいはずなのに、何故こんな中途半端な数値になっているのでしょうか?
 実は2進数とコンピュータの内部処理の約束があるため、最大値が255となるのです。

 コンピューターの中で数値を扱う場合、基本単位は1byteです。つまりゲーム機は1byteで数値を記憶しています。多くの場合、1byte = 8bitです。
8byteで記憶できる数値の最大値は255ですので、ゲームの能力値の最大値は255となるわけです。

 実際に計算して見ましょう。
 8bitということは、0と1が8個、つまり2進数で8桁まで取り扱うことができます。
8桁の2進数が表すことのできる数字は0〜255です。計算は以下のとおりです。
 00000000 (2進数) = 0 (10進数)
 11111111 (2進数)
= 27 + 26 + 25 + 24 + 23 + 22 + 21+ 20
= 128 + 64 + 32 + 16 + 8 + 4 + 1 = 255 (10進数)
 ですので、最大値が255となっています。自分で実際に計算して見るとさらに分かりやすいかもしれません。

 ではもし最大値が999の場合はどうなるでしょうか。
 コンピューターは1byteが基本ですので、256〜65535の数字の場合は必ず2byte使わなければなりません。
2byte使った場合、0〜999は0000000000000000〜000001111100111 となります。
つまり5bitも無駄になっているのです。
 しかしこの無駄を無駄のままにはしません。実はこの空いている5bitを別の情報記録用に強引に使うことがあります。 ただししっかり管理しないとバグの元になります。
 ちなみに2byte使った場合の最大値はちなみに65535です。
最大値が65535となっているゲームもありますが、この場合は2byte = 16bit使っているわけです。
(ちなみにExcel2003の行の最大値も65535です。)

 テレビゲームも情報の理論に従っているのがお分かり頂けましたでしょうか?

歯車3. 2進数計算機