今回は2038年問題についてです。
今から17年後ですが
割とやっかいな問題ですね
解説動画はこちら
2038年問題とは
さて2038年問題とは
具体的にどのような問題でしょうか
現在も利用されているOSであるUNIXには
タイムスタンプ値という日付の元になるような
基準の値があります。
これは1970年1月1日の0時0分0秒を0として
1秒毎にプラス1される値のことです。
こういった値の計算の際に使用されるデータ型は
int型のような32ビットのデータ型で計算されるように
設定されています。
32ビットの整数型では最大値が2の31乗-1
値だと2147483647
この値を超えると-の値にオーバフローしてしまいます。
日付が-のタイムスタンプ値である1901年などに
されてしまうわけです。
その限界となる日が
2038年1月19日(UTC)です。
対策
対策としては32ビットで動いているデータ型を
64ビットに直す事です。
そうすれば西暦3000億年まで耐えられます。
人類はおろか、太陽系すら残っているか
分からない時まで測れるので問題になることは
無いでしょうね。
何が起きるか
自分の予想を4つにまとめてみました。
1.現在では有る程度の対策はされてて
2038年になっても何も起きない(本命)
2.銀行がおかしくなる(対抗)
3.インフラ系がおかしくなる(穴)
4.核ミサイルが飛んでくる(大穴)
日本のエンジニアの方々を信じたいですね。
最も、海外で事故ったらアウトですけどね。
64ビットに改修したあと
できれば西暦3000億年のその時に
何が起きるか体験してみたいですね。
それまで生きてみようと思いますwww
それでは。
今から17年後ですが
割とやっかいな問題ですね
解説動画はこちら
2038年問題とは
さて2038年問題とは
具体的にどのような問題でしょうか
現在も利用されているOSであるUNIXには
タイムスタンプ値という日付の元になるような
基準の値があります。
これは1970年1月1日の0時0分0秒を0として
1秒毎にプラス1される値のことです。
こういった値の計算の際に使用されるデータ型は
int型のような32ビットのデータ型で計算されるように
設定されています。
32ビットの整数型では最大値が2の31乗-1
値だと2147483647
この値を超えると-の値にオーバフローしてしまいます。
日付が-のタイムスタンプ値である1901年などに
されてしまうわけです。
その限界となる日が
2038年1月19日(UTC)です。
対策
対策としては32ビットで動いているデータ型を
64ビットに直す事です。
そうすれば西暦3000億年まで耐えられます。
人類はおろか、太陽系すら残っているか
分からない時まで測れるので問題になることは
無いでしょうね。
何が起きるか
自分の予想を4つにまとめてみました。
1.現在では有る程度の対策はされてて
2038年になっても何も起きない(本命)
2.銀行がおかしくなる(対抗)
3.インフラ系がおかしくなる(穴)
4.核ミサイルが飛んでくる(大穴)
日本のエンジニアの方々を信じたいですね。
最も、海外で事故ったらアウトですけどね。
64ビットに改修したあと
できれば西暦3000億年のその時に
何が起きるか体験してみたいですね。
それまで生きてみようと思いますwww
それでは。
コメントする