2008年1月8日火曜日

?進法

ども。たです。

本日が仕事始めで、こんな時間の更新です orz

職場に行ったら、上司より年賀状の催促をされましたw
住所教えてもらってねぇ+うちにも届いてないけど、、、
と切り返すと、住所教えてもらってないからと、どこかで聞いた
お答えが返って参りましたw
なんで、お互いに住所教え合って、今からでも年賀状を
出しましょうということで一致し、先ほど書き終えました。
明日、通勤途中にでもポストに投函してやろうかと思っています。
#直接渡したほうが早いとか、最もな指摘はここでは無視します。

ま、それはさておき、たまには理系っぽいところを見せようと、
こんなタイトルになってます。まずは初歩的な話から初めて、
PC に関わる簡単な雑学へとつなげたいと思います。

まず、?進法と聞いて、最も馴染み深いのは、10 進法でしょう。
0~9 までの 10 個の数字を使って、9 を超えたら桁上がりする
っていう小学校で習う数の数え方です。

それともう一つ知らなければならないものとして 60 進法があります。
これは、日常生活においては、時間を表すのに使われていますね。
0~59 までの 60 個の数字を使って、59 を超えたら秒 -> 分、分 -> 時間
へと、一種の桁上がりを見せる数の表し方です。

よく、ヘキサゴンとかの「はじき問題」で解答者が混乱しているのは、
10 進法から 60 進法への切り替えが頭の中で上手く行っていない
のが、原因だと個人的には思っています。

ま、そんな話もさておき。ここで扱うのは、この辺の話ではありません。
#上記のものは常識で終わらせたいw

高校で数学を真面目に受けていた、ないしは PC など最近ディジタル機器
に強い人ならご存知でしょう。2 進法ってやつについてです。
10 進法が 0~9 までの 10 個の数字を使っていたなら、当然 2 進法は
2 個の数字しか使いません。で、その使う数字というのは 0 と 1 です。

2 進法で 10 進法で言うところの 0~10 までカウントアップしていくと、
次のようになります。
    0 -> 0
    1 -> 1
    2 -> 10
    3 -> 11
    4 -> 100
    5 -> 101
    6 -> 110
    7 -> 111
    8 -> 1000
    9 -> 1001
   10 -> 1010

なんとなくルールはつかめましたか?
では、10 進法で言うところの 11 は 2 進法ではどう表せるでしょうか?


そうですね。1011 です。
#文字の色を背景と一致させているので、反転させてご確認ください。

なぜこんな概念が出てきて、高校数学でも扱われなければならないのか
というと、この 2 進法、現代のディジタルというキーワードと非常に相性が
良いからなんです。そもそも、ディジタルってのは回路的に言えば、
あるノード (端子) に電圧が湧いているか、そうでないかの 2 状態しか
ありません。なので、これを数値化するには 0 と 1 だけで十分というわけです。
#むしろ 10 進法だと冗長。

で、この 2 進法で表される数字ですが、1 桁だと 0 か 1 かで 2 状態を
表すことができ、2 桁だと 00、01、10、11 の 4 状態を表すことができます。
2 状態を表せるものが 2 つあるのだから 2×2 = 4 ってわけです。
同様に 3 桁では 2×2×2 = 8 状態を表せます。この桁数のことをしばしば bit
と表します。JPEG や BMP ファイルにおいて「? bit 」とあるものがあると
思いますが、これはどれだけ色の表現が可能かを表しており、それが 8bit だと
2×2×2×2×2×2×2×2 = 256 色ということになります。
もちろん、自然界に存在する色がたった 256 色ということはないので、
この場合はその 256 色の中で、最も近い色に置き換えられちゃいます。

同様に、16bit で 65536 色、24bit で約 1680 万色となります。
一昔前の携帯でディスプレイの表現力として 65536 色ってのが主流
だったと思いますが、その数字はここから来ています。
#最近はほとんど 1680 万色表現可能だと思いますが。。。


この考えを使うと、片手で数えられる数を飛躍的に増やすことが可能となります。
10 進法の考えに立つと、通常通り、片手では 5 までしか数えられませんよね?
でも、指が 5 本あると考えれば、2 進法では 5bit 分の数が数えられることが
理解できると思います。なんで 2×2×2×2×2 = 32 状態となり、0 も含めると、
片手で 31 まで数えられるようになります。それが両手となると、10bit 分の表現が
可能であり、それは 1024 状態となります。つまり頑張れば、人間は両手だけで
1023 (0 を含むため) までカウント可能なんですねぇ。。。
#もう計算の最中に両手ぢゃ足んねぇなんて言い訳使えねぇぞ。

長くなったんで、今日はここで止めます。
#明日も仕事だし。。。

では。

0 件のコメント: