sunasunablog

sunasunablog

パソコン初心者のお話

ITの2038年問題

皆んなってITで言う2038年問題って知ってる?世界が抱える問題だから、今回はそれをまとめました!

32bit

皆んな大学の情報系の授業でbitってやったの覚えてる??bitっていうのは、「binary digit」の略。digitは桁とか数字って意味がある。binaryは形容詞で2元のとか2進法って意味がある。自転車のbicycleとか、バイセクシャルのbisexualとかにもあるbiだね。

極論(?)、パソコンっていうのは0と1の集まり。「ON」と「OFF」しかなくて、その処理の集合がWebサイトや画像を出力している。

その「ON(=1)」と「OFF(=0)」が入る箱をbitと言う。1bitには0か1のどちらかの情報を1ついれることができる。可能性としては(0)か(1)のどちらかが入るから2通り(21)の情報を表現できる。2bitの時は、(0, 0)、(0, 1)、(1, 0)、(1, 1)の4通り(22)が表現できる。3bitの時は(0, 0, 0)、(0, 0, 1)、(0, 1, 0)、(0, 1, 1)、(1, 0, 0)、(1, 0, 1)、(1, 1, 0)、(1, 1, 1)の8通り(23)が表現できる。

つまり、n bitの時は2のn乗分のデータが表現できる。皆んなが使っているパソコンが最新じゃなかったりすると、そのパソコンは32bitOSの可能性がある(新しいと64bitOSの可能性がある)。ちなみに32bitOSのパソコンは現在でも多く使われている。

まとめ:世の中の多くのパソコンは32bitOSである。

UNIX時間

パソコンに入っている時計などのシステムにはUnixtime(世界協定時)が用いられている。Unixtimeが何かと言うと、コンピューターシステム上での時刻表現の1つ。要は時間を表すよってこと。

それが何かって言うと、その時間に基準があって1970年1月1日午前0時0分0秒を基準としている。(理由はその頃にUnixitmeを使うphpって言う言語が開発されて、キリがいいからみたいなノリらしい)

まとめ:Unixtimeは1970年1月1日午前0時0分0秒が基準。

2038年問題

それがどう問題になるのかと言うと、32bitOSは表現の幅が32bitだから232(=4294967296)の量のデータを表現できる。それにプラスとマイナスの符号が付くから、半分の216(=2147483647)分のデータがUnixtimeに適用されている。つまり、1970年1月1日午前0時0分0秒から過去と未来に216秒分しか扱えないことになっている。(過去で言うと1901年12月13日20時45分52秒で、未来で言うと2038年1月19日3時14分7秒)

上段で数字が出ているが、32bitOSを使っているパソコンは2038年1月19日3時14分7秒までしか表現できない。表現できる幅がカンストしてしまうのだ。

これによって誤作動や不具合が起きると言われている。だから2038年問題という名前が付けられている。(ちなみに2038年のその上限を過ぎると最過去の1901年12月13日20時45分52秒に戻るとも言われている)

おしまい

普段何気なく使っている電子機器は全部0と1で動いてるって考えるとパソコンが高性能な機器って言うのが体感で分かるね!だからパソコンやiPhoneは大事に扱おうねっ!ばいばい〜。