2038年、世界が崩壊する

ja.wikipedia.org

2038年何かが起こるかもしれない。
って聞いた






本日は雑談







実はコンピューターは0か1しか読めないのだが
0か1の無限の繰り返しで無限のことができるように見えている




時間を司るプログラムも、0010101010010101010010101秒みたいな感じで記録されていた



ja.wikipedia.org


> 以前は多かった32ビットで扱われている場合で、符号付きであった場合、その最大値 2,147,483,647 を超えると負の値になり、正しく時刻を扱えなくなるという問題がある。これを2038年問題という。





32ビットというのは0000…の入る箱の大きさみたいなものです
32ビット箱の空は
0000 0000 0000 0000 0000 0000 0000 0000


この箱、1970年1月1日0時0分0秒みたいな地点に置いてあるので



1970年1月1日0時0分0秒 + 32ビットの箱に入ってる秒数 = 今の時刻



1970年1月1日0時0分0秒 + 1秒というのは0と1だけであらわすと
0000 0000 0000 0000 0000 0000 0000 0001


1970年1月1日0時0分0秒 + 2秒というのは0と1だけであらわすと
0000 0000 0000 0000 0000 0000 0000 0010


1970年1月1日0時0分0秒 + 3秒というのは0と1だけであらわすと
0000 0000 0000 0000 0000 0000 0000 0011


1970年1月1日0時0分0秒 + 4秒というのは0と1だけであらわすと
0000 0000 0000 0000 0000 0000 0000 0100

.

.

.

.


で、
1970年1月1日0時0分0秒 + 2,147,483,647(2038年1月19日3時14分7秒)
というのは、0と1であらわすとこう


f:id:nu99:20210603210520p:plain
https://note.cman.jp/convert/bit/


0111 1111 1111 1111 1111 1111 1111 1111


で、その1秒後の2,147,483,648(2038年1月19日3時14分8秒)は



1000 0000 0000 0000 0000 0000 0000 0000



で、一番左の0か1は、プラスかマイナスかを担っているので

一番左が0=プラス
一番左が1=マイナス
になって



2,147,483,647秒の次は


 -0秒になっちゃうんですね



1970年1月1日0時0分0秒 + (-1秒)
1000 0000 0000 0000 0000 0000 0000 0001


1970年1月1日0時0分0秒 + (-2秒)
1000 0000 0000 0000 0000 0000 0000 0010




流石に過去に戻りすぎるのはヤバいので、
0に戻してくれるので
紀元前にいくとかはないんですが



それはそれとして時は戻るわけで

2038年1月19日3時14分7秒過ぎたら

突然1970年1月1日0時0分0秒になっちゃうカモ



みたいなのが2038年問題ってやつ


・・・らしいです
記事読んで書きながら把握してるので違ったらすいません




なんかヤバそう!と思うかもだし思ったけれど
新しめのシステムは既に64ビットの箱という、32ビットよりデケー箱を使っているので
メッチャ古いシステムだけもしかしたら…な感じらしい



ま・・なんとかなるでしょ!



それはそれとしてちょっと楽しみですね
(楽しみじゃすまない世界線もある)



以上です