2012年3月17日 星期六

閏年蟲(Leap Year Bug)

閏年蟲

閏年蟲Leap Year Bug),是指由於電腦程式設計的一些問題,使得電腦在處理閏年2月29日的日期和時間時候,可能會出現不正確的操作。
閏年蟲是人們對於一些電腦軟體在設計時未考慮閏年因素,將所有年份的2月都預設為有29天或者28天而出現運算錯誤的一種形象叫法,所以這一缺陷被稱為“閏年蟲”。
閏年蟲

▲圖:閏年蟲

閏年蟲主要分為三種:
  1. 沒有設置閏年:
    • 有些電子產品沒有計算閏年的因素,將2月當作必定只有28日,那麼當碰到閏年時,2月29日便會誤作3月1日處理。
  2. 閏年規則出錯:
    • 微軟Zune音樂播放機在2008年12月31日誤以為閏年只有365天而進入實際上還未到的2009年1月1日,結果導致全球大當機,所幸全球使用率低,並沒有引起關注。
    • Playstation 3(PS3)遊戲機誤將「四年一閏」當作「兩年(逢雙數年)一閏」,導致在2010年3月1日錯誤當作不存在的2010年2月29日,結果出現罕見的全球大當機。
  3. 2100年問題:
    • 另有一種閏年蟲將會出現於2100年,又稱「」。雖然閏年的規則大致上是「四年一閏」,但100的倍數而非400的倍數之年份卻是例外。故此2100年雖然是4的倍數,但都不是閏年。當電子產品沒有考慮到這條特例時,便會導致在2100年3月1日錯誤當作不存在的2100年2月29日。
閏年蟲
圖:閏年蟲
閏年蟲-翻版千年蟲癱瘓PS3網絡
翻版「千年蟲」玩謝PlayStation3(PS3)。風靡全球的索尼PS3遊戲機發生歷年來最嚴重的網絡故障,本月踏入一日起,玩家無法上網連線、部分遊戲「當機」,甚至玩家存檔的遊戲紀錄也一併受損,故障超過廿四小時,昨午才告修復。
今次網絡大癱瘓,疑因遊戲機的內置時鐘錯誤識別今年為閏年,出現二月廿九日所致,估計全球超過三千八百萬名玩家受影響。
keyword: 閏年蟲
▼閏年蟲 相關影片:



沒有留言:

張貼留言