北京奧運倒計時器 鬧出「天大玩笑」
2007年3月26日晚8時,北京奧運會倒計時進入500天。然而,竟然沒有人發現,這座由歐米茄公司贊助並全權負責製作的,已經落成、啟動並倒計時長達900多天的「高科技」產品出現了一個驚人的「漏洞」——在每一天晚8時整,在這一秒的時間裏,倒計時種顯示的數位都會出現一個同樣的錯誤:天數的遞減變化與「時、分、秒」的歸零同時顯示,導致前一秒鐘顯示出的時間段比後一秒時所顯示的時間段少23小時59分59秒的情況。
更嚴重的是,在2008年8月7日8時整(距目前預定的奧運開幕時點整整24小時),倒計時種的顯示將出現「天、時、分、秒」都全部提前歸零的「烏龍」!既然倒計時全部清零了,那就是「開幕」了啊,但此後一秒的顯示是距開幕還有「0天23時59分59秒」,再倒計下去,直到8日晚8時第二次全部清零,奧運會才真正正式開幕。
有攝影記者在天安門國家博物館門前採用連拍方式,拍到晚8時前後三秒鐘內三張倒計時鍾的顯示圖片,仔細觀察三張圖,你會發現:在第二張圖上,天數已經減少一天,而同時時、分、秒歸零;第三張圖,天數與第二張一致,時、分、秒顯示為「23時59分59秒」,那麼在下一秒顯示的倒計時時間段竟然比上一秒還要長23小時59分59秒!這顯然不合常識邏輯。
「天大玩笑」
更重要的是,按照這樣「讀秒歸零的同時天數遞減變化」的顯示規律,推算到2008年8月7日晚8時前後三秒內倒計時牌所顯示的情形,就會出現如下奇特現象:
這三張推演圖片所示,第一張很正常,第二張則驚人地出現「天、時、分、秒」所有數位在這一秒的時間裏全部歸零的奇觀!那麼,此刻奧運該「開幕」了?而事實是,此時距奧運開幕還有整整24個小時!再看第三張圖,顯示的是「0天23時59分59秒」,這也是正確而符合常識邏輯的。
按照常理和時間邏輯,在2008年8月8日奧運開幕的這一天的大部分時間裏,倒計時牌所顯示的應該是「0天××時××分」,那麼此前一天(8月7日)的大部分時間裏就應顯示為「1天××時××分」。我們照此邏輯,對應到日曆上從2008年8月8日倒數,數到2007年3月25日,晚8時後的確該顯示為501天。這就證明,歐米茄公司也是照此常識邏輯去設計該倒計時鍾的程式模組的,那麼也就是說,我們上邊三張虛擬圖是符合該倒計時鍾的程式設計的,而該倒計時鍾照此下去在2008年8月7日的8時,就確定會出現所有數位全部歸零,提前宣布24小時宣布奧運「開幕」的重大失誤,儘管這個失誤僅存在短短的一秒鐘!
最後再推演一下這個倒計時牌歷史使命中最後兩秒鐘(2008年8月8日晚8點前):繼2008年8月7日晚8時出現倒計時鍾數位全部歸零的情況後,2008年8月8日奧運真正開幕時又出現倒計時全部歸零的情況,當然這後一次是正確無誤的,而兩天內兩次倒計時歸零,歐米茄公司的這個「玩笑」真是開大了!
既然出了這個問題,那麼「漏洞」是怎麼出來的?哪個環節出了問題,該如何解決?
按照歐米茄的設計師設定的倒計時程式,2008年北京奧運會將在最後一個計時週期內,將兩次出現0天00時00分00秒的情況。而對於這樣的烏龍,記者諮詢了業界的相關專家,並向四川大學、電子科技大學兩所學校的數學、電腦軟體等方面的老師進行了求教。專家們認為,這是歐米茄公司的設計師在初始程式資料設定時出現了紕漏,專業術語:觸發減一。但記者就此事採訪歐米笳公司時,作為2008北京奧運會倒計時牌的贊助商,歐米茄公司卻推三阻四,沒有正面回應問題。
其實倒計時的電腦程式在電腦編程上,是最入門、最初級的一種,編寫起來也非常容易和簡單,最常見的一種方法是採用DateDiff函數或者TapTime for palmOS的一種固定程式進行編寫。在原始資料設定時,需要設定一個倒計時的開始時間,包括年、月、日、小時、分鐘、秒鐘,以及倒計時的終止時間,同樣包括年、月、日、小時、分鐘、秒鐘等參數即可。在一個倒計時程式裡,還包括計數器和記憶體兩個關聯程式。「如果歐米茄公司為北京奧運會設計的倒計時牌的確出現這樣的故障的話,那很可能就是這兩種計算器中的一種,在原始資料設定時出現了紕漏,這是一個編寫程式時的BUG。」
專家解釋說:「舉個最簡單的例子。我們一般都是按照1、2、3、4……9這樣的順序計數,倒計時則是按照9、8、7、……1、0這樣的倒序進行。這樣就有可能在倒計時最後一個計時週期內,出現兩次顯示為零的狀態,而實際上,在第一次顯示為零的時候,還有一個計時週期沒有被計算在內。拿專業術語來說是:觸發減一。」
最後,這位專家說:「其實把2008北京奧運會的倒計時牌的內部晶片重新進行編程,彌補這樣一個BUG,將現在的倒計時牌的天數晚變一秒鐘。到了最後一個計時週期內,就不會出現兩次為零的狀況了。這對於歐米茄這麼一個公司來說,非常簡單,一點都不困難!」
- 關鍵字搜索:
-
北京
--版權所有,任何形式轉載需看中國授權許可。
本文短網址: http://m.kzg.io/b5nF2