confuoco Dalnara

2038年


まだ2004年がはじまったばかり、2038年はずうっと未来なのに....。

西暦2038年問題は
C言語を使って開発したシステムをUNIX環境で利用している場合
2038年1月19日3時14分8秒(GMT)を過ぎると、システムが正しく時刻を認識できなくなる問題。

C言語の標準的な日付関数time_t型は時刻を2進法で表し
1970年1月1日0時0分0秒からの経過秒数を保持している。
time_t型が表せる時間は2の31乗まで。
2,147,483,670秒後の2038年1月19日を過ぎるとオーバーフローになってしまう。

2004年1月11日は1970年1月1日0時0分0秒から
2038年1月19日3時14分8秒までの中間点、ちょうど折り返し地点にあたるそうだ。

トラブルが発生した銀行が利用していたソフトに
timeを2倍にする処理があり、
中間点の時刻の2倍の計算結果=2038年となって西暦2038年問題が発生した模様。
boomerangみたいな時間...。

2倍といえば
あの牛丼が500円前後(ほぼ2倍)になるらしいと新聞に出ていた。
すごいinflation!

Copyright 2003-2007 Dalnara, confuoco All rights reserved.


© Rakuten Group, Inc.
X
Mobilize your Site
スマートフォン版を閲覧 | PC版を閲覧
Share by: