自然科学全般2036年問題について書きましょう。Windowsでは、Windows2000以降(もちろん今のWindows10なども)、インターネット上のタイムサーバー(あちこちにある。コンピュータで動く、これもソフトウェアです)を利用してパソコンの内部時計を定期的に正しい時刻に修正する、という動作を自動で行うようになりました。タイムサーバーはインターネットに接続しているパソコンとやりとりをして、正しい時刻をパソコンに送信してくれます。Protocol)」というプロトコル(どんな書式で時刻を教えてくれるのか、どういうタイミングで時刻をもらえるのか、などのルール)が利用されます。このNTPでは、西暦1900年1月1日0時(世界時)から現在までの経過秒数を得られることになっています。途中に閏年なんかもあるし、注意が必要です。NTPではこの秒数を32ビット(0,1の並びで32桁)の数値で表現することになっています。「ビット」って、聞いたことはあっても詳しくは知らない人が多いでしょう。こんな0、1の32個の列がタイムサーバーから送られてくるわけです。タイムサーバーから000...000101011(32桁)が送られてきたら、1900年1月1日0時から43秒経っています、ということになります。(等比数列の和)=4294967295秒(42億9496万7295秒)です。6時28分15秒(世界時。日本時間で15時28分15秒)なのです。NTPでは先に書いたように、秒を32ビットで表すので、そこから1秒先、6時28分16秒になると時刻を正しく表現できなくなります(32ビット分しか秒のために用意されていない。すると多分桁上がりであふれてしまって0秒、となるかな......)。パソコン側では、「タイムサーバーからは32ビットの時刻が送られてくる」という前提で書かれたプログラムはヘンな動きをすることになります。2000年問題の時みたいに、そういうプログラムが人命に関わるところで使われているかも知れず、安全性の確認をしなければなりません。タイムサーバー側でも受信側でも対応しなければならず、またしても大変でしょう......。これが2036年問題。あるなあ......。その他自然科学、プログラミングなど。面白いこと、たくさんあります。読書好きなので読んだ本も紹介してゆきます。最近は写真から立体を復元するのに必要な線形代数などを中心に勉強中です。ブログへのコメントについて■■■このブログの内容についてこのブログの内容についてはてなブログをはじめよう!Inuosannさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。