2038年問題ってのは、
Cで時刻を1970年1月1日からの経過秒数で表現するときに使用されるtime_t型が、long int(符号付き32bit)の限界である2,147,483,647 を
2038年1月19日03時14分8秒(日本時間では同日12時14分8秒)に突破して負の値(要はバッファオーバーフロー)の状態になり、
プログラムがエラーになる可能性がある。
っていう問題ですね。
これはtime_t が long int(32bit) で実装されているのが問題で、64bit(long long int)にすると、西暦3000億年くらいまで使えるという…。
西暦3000億年…
使い切る前に人類滅亡してるかもよ?
宇宙歴になってるかもよ?
128bit表現になったら…
0xFF ←8Bit
0xFFFF ←16Bit
0xFFFFFFFF ←32Bit
0xFFFFFFFFFFFFFFFF ←64Bit
0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ←128Bit
もっと先を考えると?(長くなるので256Bitずつ改行しますね。: Edited at 05/07/29)
0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ←256Bit
0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ←512Bit
0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF ←1024Bit
計算できません。
むしろ自分の頭がオーバーフロー。
Manual.Wikipedia.TrackBack :: 2038年問題 - Wikipedia