コンピュータ西暦2000年問題については,サイテックジャーナルでも何度か取り上げてきました。今のところ,私たちの生活に支障をきたすほどの大きな問題は起きていないようです(コンピュータ技術者の年末年始の生活には支障があったようですが)。
2000年問題については,2000年1月1日以外にも危険日とされている日がいくつかあります。その1つが2000年2月29日,来週の火曜日です。
■うるう年の法則
今年はうるう年です。2月29日がある年です。みなさんはうるう年の法則を知っていますか。うるう年は4年に1回である,オリンピックが開催される年はうるう年である,西暦の数字が4で割り切れる年がうるう年である,ということは多くの人が知っていると思いますが,実際はもう少し複雑です。最近はテレビなどでもときどき話題になっていますが,次の法則があります。
地球が太陽を1周するのにかかる日数,つまり天文学的な1年は正確には365日より少し長いので,1年を365日に固定してしまうと少しずつずれてきてしまいます。そこで4年に1回1年を366日にすることによってこのずれを修正しようとしたのがうるう年です。ところが,4年に1回1日増やしたのでは少し増やしすぎです。それではまたずれてしまうので,例外として100で割り切れる年はうるう年にしないとしました。しかしこれでは少し減らしすぎなので,さらに例外として400で割り切れる年はうるう年としたのです。
これらはすべてインターネットで得た情報の受け売りです。もっと詳しく知りたい人は,次のホームページなどを参考にしてください。それにしても,インターネットはもう手放せませんな。
○国立天文台 天文ニュース(AstroArtsのホームページより)
http://www.astroarts.co.jp/news/1999/03/990325NAO246/index-j.html
○Panasonic Hi-HO くらしの中の数学
http://kurashi.hi-ho.ne.jp/education/math/eye/eye003/eye_4.html
■反対の反対は賛成!?
今年は例外中の例外で,法則の 3.に該当します。つまりうるう年です。コンピュータ2000年問題では,西暦2000年を1900年と間違うことが原因で起こる問題が指摘されています。上の法則によると,1900年は 2.に該当し,うるう年ではありません。従って,今年を1900年と認識してしまうと,2月29日が存在しないということになる可能性が出てきます。
また,うるう年に関する問題は,西暦年数を間違うという問題とは関係なく起こる可能性もあります。コンピュータやソフトウエアを設計した人が上の3つの法則を知らなかった場合に,問題が起こる可能性があるのです。
例えば,法則の 1.と 2.しか知らない人は,2000年は100で割り切れるのでうるう年ではないというプログラムを書いてしまいます。これではいくらコンピュータが正しく2000年を認識しても,2月29日がないことになってしまいます。直接確認はしていないのですが,実際にこのようなソフトウェアがあったようです。このように中途半端な情報に基づいて作られたソフトウェアでは問題が生じる可能性があります。
ところで,ソフトウェアの設計者が,上のような法則をほとんど知らなかった場合はどうなるでしょう。つまり,うるう年は4年に1回という最も単純な法則だけを知っていた場合です。この場合,2000年は4で割り切れる年なのでうるう年になります。問題は生じません。2000年は例外中の例外で,結局例外ではないので問題が生じないのです。例外を全く考慮していない場合に問題が生じないという皮肉な結果になってしまいます。
ちなみに,うるう年以外にも「うるう秒」というものがあります。詳しく知りたい人は,インターネットで検索してみてください。
■実際に問題は起きるのか
このうるう年が関係する2000年問題ですが,実際には大きな問題は起きないといわれています。1月1日よりは危険性が低いといわれています。それほど心配しないでよいでしょう。
しかし問題が起こる可能性はあります。政府も対応体制を発表しています(http://www.kantei.go.jp/jp/pc2000/2000/02-29taisei.html)。問題が起こる可能性がある日だということは知っておいた方がよいと思います。
問題が起きず,みんながよい3月を迎えられることを祈ります。
Written by 大坪 和久