20080511~
13と7と11の倍数の論理積は13と7と11の積の倍数である。
和ァ・・・
前回のあらすじ
細かすぎて伝わらない一発芸をやったきのこはふと思い出した。 2進数にした8÷5はいつまでたっても割り切れないのであった。 きのこはその答えを探す旅に出るために布団にもぐった。 ========== 8を2進数にすると1000 5を2進数にすると101 8÷5を2進数で行うと、 1000÷101=1.10011001100・・・ といつまで経っても割り切れない。 10進数のときと何が違うかといえば、2進数になったことしかない。 ということは原因は2進数にある。 10進数と2進数の違いは何か。 約数の違いである。 10の約数は2と5 一方、2の約数は2だけ。 5が入っていないのである。 つまり、10や100や1000などを3や9で割っても割り切れないように 2進数における2や4や8を5や25や125で割っても10進法とは違い、割り切れないのである。 では逆に、約数の多い数を進数に使うとどうなるか? ご存知1mの棒状ケーキを3人で分けようとすると33.333・・・cmで割り切れないが、 丸いケーキであれば、きっかり120度ずつに分けることができる。 これは、1周を360度という約数の多い進数で数えているからである。 同様に、1時間は6分で割ると10個と、割り切れる。 しかし、約数を求める際にも割り算を行っている。 割り算を行ってあまりが出なければそれを約数としている。 では、進数の違いによって約数の数が違ってくることはないのだろうか? このような心配を、20歳のときに漠然と考えていたが どういう疑問なのかこないだまでよくわかっていなかった。 しかしどうやら心配は無用のようで、進数の違いによって同じ数でも約数が異なるなんてことにはならないような気がする。 60は2進数においても10進数においても8進数においても2×2×3×5であることに揺らぎはないからだ。 証明とは程遠いが、ためしにやってみると 10進数 2進数 8進数 5進数 2 10 2 2 3 11 3 3 5 101 5 10 60 111100 74 220 2進数では(隣は対応する10進数計算) 10 2 ×10 ×2 ___ __ 100 4 100 4 × 11 ×3 ____ __ 100 12 100 ____ 1100 1100 12 × 101 × 5 _____ ___ 1100 60 1100 ______ 111100 8進数では(隣は対応する10進数計算) 2 2 ×2 ×2 __ __ 4 4 4 4 ×3 ×3 __ __ 14 12 14 12 × 5 × 5 ___ ___ 74 60 5進数では(隣は対応する10進数計算) 2 2 ×2 ×2 __ __ 4 4 4 4 ×3 ×3 __ __ 22 12 22 12 × 5 ×5 ___ __ 220 60 ところで、10進数で1を3で割ると1/3であり、 1/3を3回足すと1になるはずだが 1/3≒0.33・・・と小数にしたとたん 3回足した合計が0.99・・・となり、1にはならない 同様のことがコンピュータの中でも起きており 0.1を10回足したら当然のように1になると僕らは思っていても 2進数で表現すると1÷1010=0.00011001100・・・ になるので10回足しても0.11111111・・・にしかならず、1にはならないのである。 これは、0に10回0.1を足すのであればさほど問題にはならないが 1から10回0.1を引いて0になっているかどうか判定するようなことをしたとして、ここで2進数の桁が8桁しか用意されていないと 0と0.0000001の違いになってしまい これは10進数にすると0と約0.008の違いになり、たちまち問題は大きくなってしまうのである。 もちろんコンピュータは桁数は多くても有限の桁しか持っていないので、この差はいつでも付きまとう。 また、1を10等分して1から10回引くだけならいいが 1を100等分して1から100回引いたり、1を1000等分して1から1000回引いたりしたら、この0とはもっと大きくかけ離れてしまう。 このようなことを避けるために、必要に応じて時々 10から10回1を引いてそれぞれを0.1倍するとか 1000から1000回1を引いてそれぞれを1/1000するとかそういうことを行ったりする。 これなら確実にきっかり0になる。 もし、どうしてもこのような回避方法をとれない場合は、 0から±このくらいだけの範囲内に収まっているかどうか、という判定に変えなければならない。 「このくらい」は自分で見積もるのである。 にほんブログ村 PR |
カレンダー
カテゴリー
最新CM
[12/30 buy steroids credit card]
[09/26 Rositawok]
[03/24 hydraTep]
[03/18 Thomaniveigo]
[03/17 Robertaverm]
最新記事
(01/01)
(09/23)
(09/23)
(02/11)
(05/30)
(05/28)
(05/28)
(05/27)
(08/04)
(10/24)
(06/08)
(05/22)
(01/13)
(11/04)
(11/02)
最新TB
プロフィール
HN:
量子きのこ
年齢:
43
HP:
性別:
男性
誕生日:
1981/04/04
職業:
WinDOS.N臣T
趣味:
妄想・計算・測定・アニメ
自己紹介:
日記タイトルの頭についてるアルファベットは日記の番号です
26進数を右から読みます 例:H→7番目、XP→15(P)×26+23(X)=413番目。 A=0とする仕様につき一番右の桁はAにできませんのでご了承くださいズコー
ブログ内検索
アーカイブ
最古記事
(05/11)
(05/11)
(05/13)
(05/13)
(05/13)
(05/13)
(05/13)
(05/13)
(05/14)
(05/14)
(05/14)
(05/14)
(05/16)
(05/16)
(05/16)
アクセス解析
|