← なんだか | メイン | 三連銃?! →

2004年01月10日

砂時計

/.Jのこのストーリーを見て思い出した。

32bit処理系の世界で使われている砂時計の器が残り半分になっちゃったんですね。
コンピュータの中の小人さんは、大抵の場合、数値を器に入れて管理しています。
で、その器の大きさでもっともポピュラーなのが32bit。
32bitってのは、0から4,294,967,295まで扱うことができます。ただ、負数を扱う場合もあったりするので、最上位桁を正負の記号として扱うケースが大変多いです。
そんなわけで、だいたい±2,147,483,646まで扱えます。
21億っていうと相当な数に見えますが、32bitだとサッカー選手の移籍金で溢れます。てかこの選手凄いな…

で、PCなどでシステム時間を扱うときは、万国標準時で1970年1月1日の0:00:00を起点とした累積秒を基準として、時間にかかわる処理をしてるわけです。

で、この秒単位砂時計の砂が落ちきるのが2038年1月19日12:14:07なわけで。
その1秒後の12:14:08になると、1901年12月14日05:45:52になっちゃうパターンが多い。
もっととんでもない日付時刻になるパターンもありますが、ここんとこは大人の事情なので割愛。

これが2038年問題ってやつで、2000年問題より深刻になるんじゃないのか、っていわれてます。
2000年問題については、事前に回避したり、いろいろなゴマカシのテクニックが使えたので大きな混乱もなく、きわどい所で乗り切れたケースが多かったんですが、今度はちーっときつい。

で、2038年どうすんのよ?と、現役エンジニアたちは頭の片隅のどこかにほっぽっている問題なんですが、34年後の話だし、それまでにシステムの更新が行われる「だろう」とか、どうせ自分はその頃現役じゃない「だろう」ということで、基本的には放置くらってます。
時間と人手が慢性的に不足してる業界でもあるので、そんな些細な遠い未来の話より、解決しなきゃならない問題が山積みになってるのが現実なんです。
…2000年問題も、こうして発生したわけなんだけど、隔靴掻痒ってやつですな。

西暦一つでここまで面倒なわけで、僕個人は元号表記なんかとっととやめちまえ、と思っているタイプです(あ、極左って意味じゃないよ)。

昔話ですが、Windows95から日付を元号表記にできたんですが、笑えることに、95では平成9年の次は「平成0年」って表示されてたのですよ。平成11年は「平成1年」って。
担当プログラマの 信じられない単純ミスなんだけど、平成天皇は10年未満の即位を想定していた、ってことで、世が世なら不敬罪だよなぁ、とニヤニヤしておりました。

で、スラドのストーリーを見てて思ったのは、西暦10000年問題、平成100年問題を心配したり、次の元号が漢字三文字だったらどうしよう、とかそういうことを考えている人がいるんだなぁと。

言えない…ある日突然13月が追加されたらどうしよう、って仕事中に小1時間悩んでたなんて言えないよ…

トラックバック

» black jack roulette from black jack roulette
a_Ya__a__a__a_Ta_ra_a,^a,_a_-a__a_S~a_,a_-a__a_Ta_, [Read More]

コメント

Penis size is the unwritten measure of masculinity and virility and viewed as and indicator of the ability to please sexually.

コメントする


Warning: include() [function.include]: URL file-access is disabled in the server configuration in /virtual/technerd/public_html/blog.technerd.org/2004/01/10-034633.php on line 366

Warning: include(http://blog.technerd.org/rightmenu.php) [function.include]: failed to open stream: no suitable wrapper could be found in /virtual/technerd/public_html/blog.technerd.org/2004/01/10-034633.php on line 366

Warning: include() [function.include]: Failed opening 'http://blog.technerd.org/rightmenu.php' for inclusion (include_path='.:/usr/local/lib/php') in /virtual/technerd/public_html/blog.technerd.org/2004/01/10-034633.php on line 366


Warning: include() [function.include]: URL file-access is disabled in the server configuration in /virtual/technerd/public_html/blog.technerd.org/2004/01/10-034633.php on line 370

Warning: include(http://blog.technerd.org/footer.php) [function.include]: failed to open stream: no suitable wrapper could be found in /virtual/technerd/public_html/blog.technerd.org/2004/01/10-034633.php on line 370

Warning: include() [function.include]: Failed opening 'http://blog.technerd.org/footer.php' for inclusion (include_path='.:/usr/local/lib/php') in /virtual/technerd/public_html/blog.technerd.org/2004/01/10-034633.php on line 370