生命保険屋のネェちゃんがバイオリズム表くれたんだが、それによると、身体のリズムは23日周期、感情が28日、知性が33日だそうだ。

で、それらの周期の最小公倍数はなにかなー?なんて思ったんだけど最小公倍数のエレガントな求め方を知らない(過去に習ったかもしれないが、忘れた)ので単純に乗じた。

23×28×33=21252

つまり、多くても21251日でバイオリズム周期が「ふりだし」に戻るワケだ。

という事で、21252日を365.25日(1年)で割ると58.18480493。自分の寿命は58歳2ヶ月6日間後5時13分頃という事にしておく。なんとなく具体的な数字である(どこが)。

ちなみに、自分は今日まで10647日生きてきたようだ。人生の半分を終えた事にしておく。


っていうか、数学苦手だから58歳以降の何ヶ月何日何時何分の計算が正しいのかまったくかいもく見当もつかないんだけれど。

ちなみに、どうやって計算したかというと、まず0.18480493が何ヶ月か?である。365.25日のうちの0.18480493日なので、単純に乗じた。つまり

365.25×0.18480493=67.50000068

で、1年は12ヶ月なので1ヶ月が平均何日か求める。

365.25÷12=30.4375

んで、以下のように計算できる。

67.50000068÷30.4375=2.21765916(=2ヶ月)

 

同じように0.21765916が何日か求める。すでに1ヶ月は30.4375日と求めてあるので

30.4375×0.21765916=6.625000683(=6日間)

 

同じように0.625000683が何時間か求める。1日は24時間であるので(さすがに閏秒は考慮しなかった)

24×0.21765916=5.22381984(=5時間)
60×0.22381984=13.4291904(=13分)
60×0.4291904 =25.751424 (=25秒)

ってな感じだ。


さて、いわゆるコンピュータの2000年問題は普通の人にも有名だ(だからどういうモノかは書かない)。

が、「2038年問題」ってのはあまり有名でない。だから少し説明させていただく。

 

パソコンを含め、現在多く利用されているコンピュータはカレンダー時計というものが内蔵されていて、それは1970年1月1日0時0分0秒から何秒経過したかを記録している。つまり、例えば1999年7月2日12時0分0秒ならば、930884400秒みたいに。

で、この経過秒を記録しているデータ領域が多くのコンピュータでは「符号付き32bit整数」ってヤツで、こいつの表現できる値は−2147483648〜2147483647だ。

つまり、最大で2147483647秒までしか記録できない。これが何年何月何時何分何秒かというと、2038年1月19日3時14分7秒になる。「2000年問題」の表現を借りれば「2038年1月19日3時14分7秒、コンピュータが狂う!」ってワケだ。

「2000年問題」の場合、2000年なのに1900年とコンピュータが判断してしまうという問題だったが、「2038年問題」はさらに厄介だ。先ほど、経過秒を「符号付き32bit整数」に記録していると書いたが、この「符号付」ってのが問題を厄介にしている。「符号付」というのは「負の値を表現できる」という事だ。したがって、「符号付き32bit整数」で表現できる値の範囲が−2147483648〜2147483647なのだが、2147483647に1足すと、0になるのではなく、−2147483648になるんである。

自分が試したとあるOS(Windowsではない)では、たまたま−2147483648秒は1901年12月14日5時45分52秒となったが、他のOSで同じ結果になるとは限らない。何が起こるか全く不明だ。

…と言いつつ、普通はこの秒数が負の値ならエラー処理するようにプログラムされているハズなので、何が起こるかまったく不明という事は無いだろう。

…と言いたいのだが、自分の作ったプログラムを見ると、単に「-1ならエラー」としているモノもある。

今のうちに「負の値ならエラー」とロジックを書きかえる必要がありそうだ。


2038年といえば、自分は68歳だ。自分は58歳で寿命なので、死後すでに10年経過している事になる。

って事で、「自分は関係無いや」って考えたりしてたらダメですか?(笑)

 

(ジェッターマルスでさえ、製造後23年(意味不明))