ナンセンス不定記 このページをアンテナに追加 RSSフィード Twitter

2006-09-28

WindowsXPの電卓で1÷3×3を計算してみると・・

答えは1になります。なんで?

1÷3の時点では、0.33333333333333333333333333333333と表示されています。

どうして、0.99999999999999999999999999999999とならないんだ!と思って、ヘルプを探すと、

拡張精度機能とは

拡張精度機能により、すべての演算で少なくとも 32 桁の精度が確保されます。また、有理数を分数として処理することにより、精度が失われないようにします。たとえば、1/3 は .333 ではなく 1/3 として処理されます。ただし、無理数の演算が繰り返されると誤差が累積します。たとえば、πは 32 桁で切り捨てられるため、πを扱う演算が連続すると、演算の数が増えるほど精度も失われます。

内部では分数で保持しているのね。

えらい!

・・・

以前知ったことに、「関数電卓」では、+−より×÷を先に演算するということもありましたが、今回の計算は「普通の電卓」でも1になりました。

・・・

話は変わり、12進数で1/3=0.4というのがどうにも感覚的に受け入れられなかったのだが、12進数の0.1は10進数の1/12だから当たり前か。

要は10進数の12の約数は、{1・2・3・4・6・12}なので3でも割り切れるということなのね。

・・・

BASE64は英字の大文字小文字52個と数字10個と記号2個なので、60進数はまぁ普通に1文字で表現できるのか。後は慣れだな。

Aを見たら0と思え。

aを見たら26と思え。

0を見たら52と思え。

7を見たら59と思え。

8と9は数字ではなく、文字だぞ。

#紛らわしいな・・。

・・・

というわけで、今日の日付20060928を、60進数で表現するとBg0cwとなります。

60進数で5桁あれば、10進数の8桁(99999999)は余裕で表現できる。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証