差分

ナビゲーションに移動 検索に移動

2038年問題

1,550 バイト追加, 2023年3月6日 (月) 02:40
ページの作成:「2038年問題とは、2038年に「16ビットの修正ユリウス通日」と「32ビットのUNIX時刻」がオーバーフローするという2種類の問題の…」
2038年問題とは、2038年に「16ビットの修正ユリウス通日」と「32ビットのUNIX時刻」がオーバーフローするという2種類の問題の総称です。この2つは異なる問題ですがどちらも2038年問題と呼ばれています。

== 16ビットの修正ユリウス通日 ==
[[修正ユリウス通日]]を日付の表現に採用している処理系の多くは、そのデータ長に[[16ビット]]を用いており、16ビットで表せる整数の最大値である65535(0xFFFF)になる2038年4月22日を超えると[[オーバーフロー]]が発生してしまうという問題です。

修正ユリウス通日は[[リソース]]に乏しい[[ワンチップマイコン]]などの組込機器で多く採用されている形式であり、書き換えも[[パソコン]]ほど容易ではないと言われています。状況としては年数の表現を[[グレゴリオ暦]]の下二桁のみで表していたことによる[[2000年問題]]に近いものと言われています。

== 32ビットのUNIX時刻 ==
32ビットのUNIX時刻も2038年1月19日3時14分7秒(閏秒を考慮しない場合)に[[オーバーフロー]]するという問題を抱えています。

UNIX時刻は主に高性能な[[コンピューター]]で使われているものなので修正は簡単そうに見えますが、そもそもメンテナンスできる技術者が既にいないなどの問題があるようです。そんなシステムさっさと捨てましょう。

案内メニュー