片手で数えられる最大の数

2007年10月29日無駄知識

うむ…更新延期したからって気を抜いてはいけないな!

片手で数えられる最大の数


いが いたい

…またノロウィルスか?!

/**
 * ・片手で数えられる最大の数 - 二進数
 * ・画像の圧縮アルゴリズム - 効率の良い圧縮
 * ・波って現象 波動と光波・光子・量子
 * ・サンゴ礁の生産能力は熱帯雨林並!
 * ・現実のテレポーテーション - 量子テレポーテーション
 * ・リアル沖縄植物相
 * ・宇宙の終焉 - 諸説入り乱れ
 */

 講義予定順変えてみた
うむ、正直光波とか説明するの面倒!
て言うか物理の基礎からやらないと意味がn(ry

 少し回復してきた
のでとりあえず下書き、ヘタをするとこのまま出る


 ハイ、今回は片手で数えられる最大の数、と…
そうですな、2行で終わらせよう、32が最大
…いや、まぁ、小細工したら確か10000ぐらいまでは行けるんですけど
普通は片手でそこまで数えねぇよなぁ…

もうある程度情報学とか数学を学んだ人なら答えがお分かりですね
えぇ、単純に二進法にて指折りをしただけです

 通常、我々が日常用いている数字の法則は十進法と言うものです
「人類は十進法を採用しました、って見えるな」…ノイズです、気にするな
まぁ、ネパールなんぞでは十二進数だったりするんですが
また、「月」や「時間」が十二進法だったりしますし、欧米では11・12の単語が存在します

閑話休題、この進数というのがどういうことかを説明すると…
我々が普段数えるのは1・2・3…7・8・9・10、と9まで数えて桁が増え、10となります
しかし、十二進数ではこう1・2・3…8・9・eleven・twelve・thirteen(3+10 third+ten)

つまり、X進数は一桁につきX-1まで数値を格納することができる、ということになります
ですので、先ほどの二進数の場合は1・10・11・100
三進数なら1・2・10・11・12・20・21・22・100ですね
見た目は違いますが、値としては十進数の1・2・3・4…と並びに違いはありません

 さて、ではこの二進数を用いて指折りで数を数えてみましょう
パッと見では数を表すパターンが減っているので許容量が減るように思えますが…
1を指を折っている状態、0を指を開いている状態として、表記そのままにしてみてください

00001=1
00010=2
00011=3
00100=4
00101=5
00110=6
00111=7
01000=8
01001=9
01010=10
01011=11
01100=12
01101=13
01110=14
01111=15
10000=16
10001=17
10010=18
10011=19
10100=20
10101=21
10110=22
10111=23
11000=24
11001=25
11010=26
11011=27
11100=28
11101=29
11110=30
11111=31

ハイ、ご覧の通りです
…31までしか数えられていないって?
00000を0と見るのではなく、1として見てください
すると11111が32になるはずです

ちなみに、この二進法を用いて両手で指折り数えると1024まで行けるわけですが…
慣れてないと大抵自爆して途中で数字間違えます、素人にはお勧めできない

 さて、これで片手で指折り数えられる最大数が32、というのはできたわけですけれど
昨今の情報化社会、コレが根底に備わっています

理由としてはコンピュータが基本的に0~1の二進法で動作しているから、というのは有名どころですが
では、何故二進法で動作するかを考えたことはあるでしょうか?

これも率直に簡単に答えを述べます
電圧・電流の有・無を感知している故です
コンピュータが電子的に計算するとは言っても、最終的には物理的な部分に落ち着きます
それが電子論理演算、2つの電気の流れからON/OFFの操作のみで論理演算を行います

この論理演算、NOT / AND / OR の三つが基本でそれぞれ
・NOT:二つの値が違うのであれば、答えは真
・AND:二つの値が同じであれば、答えは真
・OR:二つのうちどちらかが真ならば、答えは真
となります

で、これを積み重ねて足し算引き算とかにするのですが…
パッと見想像付きませんよね
では、1を真、0を偽として捉えて考えて見ましょう

例えばA:01011とB:00101…A:偽真偽真真にB:偽偽真偽真ですね
まずは答えを出すための枠をもう一つ用意します、此方は全部偽、C:00000ですね
次に一番下の桁からそれぞれANDで答えが真のとき、一つ上の桁を真に、その桁は偽に
すると…C:真偽偽偽偽=10000となります
では実際に足し算してみましょう

01011は11、00101は5ですので…11+5=16
16を二進数に直すと…10000
ハイ、当たりです、これで論理演算の繰り返しで足し算ができました

コンピュータの中ではこういった演算を続けて計算を行っているわけです
そしてソレを更に拡大し、電流の制御なども行い、付属機器なども操作しているというわけですね
こういった回路にメモリなどを積んだ現在のコンピュータのことをノイマン型と呼びます

…それ以外あるのか、って気がしなくも無いんですが

 では、この日頃お世話になってるコンピュータ達、普段どれぐらい計算しているのか
CPUにはよく動作周波数が2GHzとかありますよね、アレ見てもさっぱりです


ハッハハー! ここで飯タイム到来! 何時に無くピンチだぜ!
20:42現在


動作周波数と言うのは基本的には1秒間に何回計算をこなせるか、と言う指標なのですが…
CPUによって1回でいくつ命令がこなせるかが違うんですよね


ただいま帰還…あ、延期ktkr、ノンビリしよーっと



同じカテゴリー(無駄知識)の記事

この記事へのトラックバックURL

<%PingExcerpt%> <%PingTitle%> - <%PingBlogName%> at <%PingDateTime%>

この記事へのコメント

激安ニューバランス ms574アウトレット正規扱取店、ニューバランスの靴人気新作激安店鋪。大幅値下げニューバランス 茶色海外限定ニューバランス ms574激安100%本物保証、送料無料、優れた品質と低価格のための最善のオプションです。

ニューバランスの靴 at 2014年07月10日 06:19

上の画像に書かれている文字を入力して下さい
 
<ご注意>
書き込まれた内容は公開され、ブログの持ち主だけが削除できます。