標籤: 暫無標籤

  10000年問題是所有軟體可能在表示五位數年份時發生的問題的總稱。在2000年問題引起人們關注的一段時間中,10000年問題曾被以幽默的方式被人們在媒體中披露。實際上,在10000年時,由於未來科技及軟體的進步-不再只以少數幾個數字錶示年份,這可能不再是個問題。

1 10000年問題 -需處理日期之軟體可能發生的問題

  許多需處理日期的程序會在2000年時將年份錯誤顯示為1900年、19100年或100年,因為編程人員直接在以兩位數記錄的年份前面加上"19"以簡化程序或節省內存空間。這類的日期顯示錯誤不太可能在10000年來臨時再度發生,因為這種記錄方式在此時是沒有用處的。然而,部份程序在處理日期時只會顯示末4碼的年份。這可能會導致10000年被顯示為"0000年"


  這個問題可以在今日相當普及的試算表軟體Microsoft Excel中發現。因為它以"自1899年12月31日起經過的天數"來儲存日期(以此規則,第1天是1900年1月1日)。在資料庫軟體Microsoft Access中也有同樣的問題。它以"自1899年12月30日起經過的天數"來儲存日期(第一天是1899年12月31日)。在上述任一個程序中,輸入第2958465天會產生日期9999年12月31日。


  對此數值再加1則會造成軟體術語中的溢出,但事實上,2958465的二進位表示為101101'00100100'10000001,而2958466則是101101'00100100'10000010。這兩個值在二進位中皆為22位數。在這些軟體中提及的溢出問題最有可能是源於它們的浮點表示法(在Excel中,第1.5天是1900年01月01日的12:00:00)。它們可能被以變種的IEEE浮點標準存儲。而此一部份之數字有23位數的空間。


  Long Now基金會正嘗試促進以5位數書寫/記錄年份的習慣,以此,2000年將會被記錄為"02000",如此將能預防10000年問題,但這將再次遇到100000年問題。

2 10000年問題 -有記錄的問題

  2000年問題因為以2位數字錶示4位數年份,而前兩位的"世紀"年份無法被正確決定而產生。被記錄的年份應該加上2位的"世紀"年份以解決此問題。10000年問題不需要更新任何舊紀錄,因為4位數字已經足夠紀錄4位數的年份。它將只需要新的紀錄方式以記錄5位數年份。 然而,仍然有一個在使用辭彙分類(lexical sorting)記錄時可能會發生的問題。例如,在表示10000年的日期時,它可能會出現在1000年的旁邊,而不是在9999年的旁邊。

上一篇[圖像分析技術]    下一篇 [三古奇皇]

相關評論

同義詞:暫無同義詞