〜2038年問題とは〜

3/3
前へ
/12ページ
次へ
 これからの文章を読むにあたって2038年問題とは、2038年1月19日3:14:08(UTC)を過ぎると32bit(※2)のOSを使用している端末が誤作動するという問題だということを頭に留めておいて欲しい。(しつこいが)  コンピューターは基本的に2進数(※3)で表されるのは皆さんもご存知だろう。  そして、今のOSは32bitまで表せる。しかし32bit中の1bitは、-か+を表すのに利用されるので(何故-があるのか謎だが)、実質表せるのは31bitである。  では、その31bitでどれだけの数が表せるのでしょうか。計算してみましょう。n桁の2進数があるとき、表現できる数値の種類は2のn乗個なので、2の31条より、31bitでは2,147,483,648を表せます。   (『一般的なコンピュータの符号付き整数は「2の補数」を扱うため、nビットの整数は-2^(n-1) 以上 (2^(n-1)-1)以下の数を扱えるので2,147,483,648だ』という意見については私は無知なので、お許し下さい。)  今回の2038年問題の対象となるUNIX(※4)系のシステムは、1970年1月1日0:00:00からカウントされるので1970年1月1日午前0時に2,147,483,648秒を足す。すると2038年1月19日3:14:08(UTC)となる。それが32bitで表せる上限となるので、その後はシステムの時計は1970年1月1日午前0時から再びカウントを初めてしまう。  以上が2038年問題の起因である。
/12ページ

最初のコメントを投稿しよう!

20人が本棚に入れています
本棚に追加