解釋為什么iPhone時(shí)間調(diào)整到1970就變磚頭
你或許已經(jīng)得知,在 iPhone 5s 以上的 64 位 iOS 設(shè)備上,把時(shí)間調(diào)整到 1970 年 1 月 1 日,甚至 1970 年的任何時(shí)間,都會(huì)直接讓 iPhone 變磚……
希望你不是通過(guò)親自嘗試才了解到的……
事實(shí)上,你不需要特別深入的計(jì)算機(jī)知識(shí),就可以明白為什么 iPhone 將時(shí)間調(diào)到 1970 年會(huì)變磚:
擁有豐富的 iOS 和 Mac 設(shè)備 Bug 研究經(jīng)驗(yàn)的技術(shù)人士 Tom Scott 認(rèn)為,這是 iOS 系統(tǒng)背后的 UNIX 時(shí)間戳的整數(shù)下溢(Unix Epoch Integer Underflow)所導(dǎo)致的問(wèn)題。
為此,我們撰寫(xiě)了一份文字版的傻瓜說(shuō)明,告訴你為什么 iPhone 時(shí)間調(diào)到 1970 年會(huì)變磚。
UNIX 時(shí)間
UNIX 時(shí)間是當(dāng)年的計(jì)算機(jī)工程師們?yōu)榱嗽谙到y(tǒng)中更加清楚明了表達(dá)時(shí)間,所引入的一個(gè)設(shè)定。
正常人表達(dá)時(shí)間是這樣的:2016 年 2 月 17 日 下午 12:54:41
UNIX 系統(tǒng)表達(dá)時(shí)間是這樣的:1455684881
你可能會(huì)問(wèn):為什么計(jì)算機(jī)不能像正常人那樣表達(dá)時(shí)間呢?
如果你學(xué)過(guò)中學(xué)地理可能會(huì)明白,由于全世界有 24 個(gè)時(shí)區(qū),每個(gè)時(shí)區(qū)在同一時(shí)刻的時(shí)間都不一樣,結(jié)果導(dǎo)致如果計(jì)算機(jī)系統(tǒng)像人一樣記錄時(shí)間將會(huì)異常的復(fù)雜,導(dǎo)致各種各樣的故障。因此,你也可以理解為,UNIX 程序員們?yōu)榱耸∈聝?,開(kāi)發(fā)了一個(gè)小程序……在這個(gè)程序的基礎(chǔ)上,UNIX 系統(tǒng)再通過(guò)你的電腦或手機(jī)所處的地理位置計(jì)算時(shí)區(qū),告訴你正確的時(shí)間。
具體來(lái)說(shuō),協(xié)調(diào)世界時(shí) 1970 年 1 月 1 日 0 時(shí) 0 分 0 秒被設(shè)定為 UNIX 時(shí)間的“零時(shí)”。上面那組數(shù)字的意義:現(xiàn)在距離 1970 年 1 月 1 日 0 時(shí) 0 分 0 秒,過(guò)了多少秒。
這個(gè)系統(tǒng)一直沿用至今。
明白 UNIX 時(shí)間,繼續(xù)往下講你就能明白了。
二進(jìn)制、位元系統(tǒng)、整數(shù)溢出和整數(shù)下溢
看上去超級(jí)復(fù)雜的四個(gè)詞……但別著急,一步一步看你就能看懂。
計(jì)算機(jī),包括 PC、手機(jī)等等,采用二進(jìn)制(0 和 1 )來(lái)表達(dá)一切,因?yàn)檫@意味著計(jì)算芯片上每一個(gè)晶體管的兩個(gè)狀態(tài):關(guān)和開(kāi)。所有調(diào)到 1970 年而變磚的 iOS 設(shè)備都是 64 位的。這意味著,這臺(tái)設(shè)備最多可以?xún)?chǔ)存處理 64 個(gè)二進(jìn)制位元,也就是 64 個(gè) 0 或 1。
舉個(gè)例子:我在寫(xiě)到這篇文章的這一段的時(shí)候,查了一下當(dāng)前的時(shí)間:
東八區(qū) 2016 年 2 月 17 日 下午 12:04:51
然后我拿這個(gè)時(shí)間到 UNIX 時(shí)間轉(zhuǎn)換器里轉(zhuǎn)換了一下,得到:
1455681891
再用十進(jìn)制轉(zhuǎn)二進(jìn)制,得到:
01010110110000111111000101100011,
你能看到這段二進(jìn)制數(shù)是 32 位的——32 個(gè) 0 或 1。這是因?yàn)椋钡?2038 年 1 月 19 日的凌晨 3 時(shí) 14 分之前,我們的時(shí)間在計(jì)算機(jī)里都可以用 32 位的 UNIX 時(shí)間系統(tǒng),也就是 32 個(gè) 0 或 1 來(lái)表示。
數(shù)位太多可能觀察起來(lái)有點(diǎn)復(fù)雜,不如我們找一個(gè) 2 位的系統(tǒng)來(lái)說(shuō)明一下。等號(hào)前面是二位數(shù),等號(hào)后面是十位:
00 = 0
01 = 1
10 = 2
11 = 3
這意味著一個(gè) 2 位的系統(tǒng)最高能計(jì)的整數(shù)是 3,這個(gè)數(shù)字在計(jì)算機(jī)學(xué)里叫做“二進(jìn)制寄存器寬度”。
再找一個(gè) 4 位的系統(tǒng):
0000 = 0, 0001 = 1, 0010 = 2, 0011 = 3, 0100 = 4, 0101 = 5….
以此類(lèi)推,1111 = 15
一個(gè) 4 位 系統(tǒng)最高能計(jì)的整數(shù),也即其二進(jìn)制寄存器寬度是 15。(更方面計(jì)算二進(jìn)制寄存器寬度的公式為 2 的 n 次方 – 1,其中 n 等于系統(tǒng)的位數(shù)。)
現(xiàn)在你明白計(jì)算機(jī)系統(tǒng)的位元系統(tǒng)了!那么整數(shù)溢出是怎么回事?
如果你在一個(gè) 2 位的系統(tǒng)上嘗試計(jì)十進(jìn)制的“4”,會(huì)發(fā)現(xiàn)系統(tǒng)從“3”的 11 變回了 00;同理,如果你在一個(gè) 4 位的系統(tǒng)上嘗試計(jì)十進(jìn)制的“16”,會(huì)發(fā)現(xiàn)系統(tǒng)變回了 0000,這便是“整數(shù)溢出”。
再同理,如果你在一個(gè) 4 位的系統(tǒng)上嘗試計(jì)負(fù)數(shù),比如 -1 的話,系統(tǒng)會(huì)從 0000 跳到 1111,也就是十進(jìn)制的“15”。這是因?yàn)檫@個(gè)整數(shù)格式不支持負(fù)數(shù),也就是我們討論的“整數(shù)下溢”。
Tom Scott 用電腦游戲《文明》初代里的甘地來(lái)解釋這個(gè)不算 bug 的 bug:游戲初始時(shí),印度執(zhí)政者甘地的進(jìn)攻值只有 1(準(zhǔn)確反映了現(xiàn)實(shí)世界里甘地的“非暴力”哲學(xué)思想)。然而在游戲進(jìn)行中如果不斷降低甘地的進(jìn)攻值,降低到 0 ,進(jìn)而降低到 0 以下的話,整數(shù)系統(tǒng)就亂了,導(dǎo)致甘地的實(shí)際進(jìn)攻值突然被提到最高——這是因?yàn)椤段拿鳌返南到y(tǒng)里采用的整數(shù)格式遇到了“整數(shù)下溢”……
這么傻帽的問(wèn)題為什么解決不了?
事實(shí)上,已經(jīng)解決了……
UNIX 整數(shù)格式的確有允許負(fù)數(shù)存在的版本,然而蘋(píng)果湊巧目前沒(méi)有在 64 位 iOS 設(shè)備的 UNIX 時(shí)間系統(tǒng)里采用這個(gè)版本,也就遇到了 1970 年的變磚 Bug……
隨便抓起手邊任何一個(gè)智能設(shè)備(比如你的 64 位 iPhone),嘗試把系統(tǒng)時(shí)間往最早調(diào)(千萬(wàn)別真的調(diào)),你會(huì)發(fā)現(xiàn)絕大多數(shù)的最早時(shí)間限制都在 1970 年 1 月 1 日。正如前面第一個(gè)小章節(jié)提到的,這是 UNIX 時(shí)間的起點(diǎn),也是你的 iPhone 能夠正確顯示的最早時(shí)間。
day-freeze-bug
系統(tǒng)時(shí)間調(diào)到 1970 年 1 月 1 日 0 時(shí) 0 分 0 秒,這個(gè)操作從計(jì)算機(jī)原理上本身不會(huì)直接導(dǎo)致你的 iPhone 變磚。可一旦你的手機(jī)里存儲(chǔ)了之前的短信、電子郵件,或者已經(jīng)過(guò)期的日歷項(xiàng),這會(huì)導(dǎo)致系統(tǒng)在追溯時(shí)間時(shí)最終定位到了一個(gè)比 1970 年 1 月 1 日 0 時(shí) 0 分 0 秒更早的時(shí)間。
這樣,你的 iPhone 的 UNIX 時(shí)間變成了一個(gè)負(fù)整數(shù)——也就是在二進(jìn)制數(shù) 64 個(gè) 0 的基礎(chǔ)上,發(fā)生了一次整數(shù)下溢。從 0000000000000000000000000000000000000000000000000000000000000000 變成了 1111111111111111111111111111111111111111111111111111111111111111。
接下來(lái),iPhone 會(huì)發(fā)現(xiàn)你老婆一秒鐘前給你發(fā)來(lái)的短信,發(fā)生在二進(jìn)制 64 個(gè) 1 所代表的 UNIX 時(shí)間中。換算男生類(lèi)的時(shí)間,也就是 292277026596 年 12 月 4 日 15 時(shí) 30 分 6 秒。
可能由于蘋(píng)果公司 iPhone 在設(shè)計(jì)的時(shí)候根本沒(méi)想過(guò)這臺(tái)設(shè)備能在大約 8000 年以后開(kāi)機(jī),也就顯示不了超過(guò)五位數(shù)的年份,更別提一個(gè)十二位數(shù)的年份了。
因此,你的 iPhone,就這樣變磚了。換句話說(shuō),你的 iPhone,跪倒在永生的宇宙萬(wàn)物面前了。
以上就是解釋為什么iPhone時(shí)間調(diào)整到1970就變磚頭全部?jī)?nèi)容,希望對(duì)你有幫助。想查找更多游戲資訊,歡迎持續(xù)關(guān)注游戲鳥(niǎo)查看。-
- 《絕區(qū)零》聯(lián)動(dòng)芬達(dá)PV公布,還有限定周邊!
- 卡繆2025-07-02 17:55:35
-
- 像素火影網(wǎng)頁(yè)版一周年入口 像素火影一周年網(wǎng)頁(yè)版鏈接
- 技能魔法師2025-07-01 10:35:12
-
- 送完P(guān)S5PRO又送NS2!《劍星》開(kāi)發(fā)商為慶祝游戲大賣(mài)贈(zèng)送每位員工一臺(tái)NS2!
- 卡繆2025-06-18 15:22:28
-
- 開(kāi)啟卡牌新紀(jì)元,《影之詩(shī)》新資料片“超凡世界”正式上線!
- QQlove2025-06-18 15:10:19
-
- 魔獸世界冰dk天賦加點(diǎn)推薦
- 阿姆羅2025-04-07 17:11:51
-
- NS2發(fā)布會(huì)匯總:港版售價(jià)3450港幣,馬車(chē)新作首發(fā)護(hù)航,支持4K120FPS輸出!
- 卡繆2025-04-03 10:14:35
-
- 可能漲價(jià)?CDPR稱(chēng)《GTA6》漲價(jià)對(duì)他們來(lái)說(shuō)是有利的。
- 卡繆2025-03-28 17:31:44
-
- 期待不?巴西博主曝Faker的S14冠軍皮膚選擇為永恩!
- 卡繆2025-03-21 17:04:15
-
- TFC2016開(kāi)年招商熱度一路飆升 眾多資源已售罄
- 技能魔法師2023-07-01 21:18:11
-
- 王者榮耀李白值得買(mǎi)嗎 李白出售價(jià)格預(yù)測(cè)
- 游戲獵人2024-02-26 00:45:10
- 1 《絕區(qū)零》聯(lián)動(dòng)芬達(dá)PV公布,還有限定周邊!
- 2 像素火影網(wǎng)頁(yè)版一周年入口 像素火影一周年網(wǎng)頁(yè)版鏈接
- 3 送完P(guān)S5PRO又送NS2!《劍星》開(kāi)發(fā)商為慶祝游戲大賣(mài)贈(zèng)送每位員工一臺(tái)NS2!
- 4 開(kāi)啟卡牌新紀(jì)元,《影之詩(shī)》新資料片“超凡世界”正式上線!
- 5 魔獸世界冰dk天賦加點(diǎn)推薦
- 6 NS2發(fā)布會(huì)匯總:港版售價(jià)3450港幣,馬車(chē)新作首發(fā)護(hù)航,支持4K120FPS輸出!
- 7 可能漲價(jià)?CDPR稱(chēng)《GTA6》漲價(jià)對(duì)他們來(lái)說(shuō)是有利的。
- 8 期待不?巴西博主曝Faker的S14冠軍皮膚選擇為永恩!
-
熱血傳奇手機(jī)版
《熱血傳奇》手機(jī)版定位是做一款適合手機(jī)平臺(tái)操作的綠色網(wǎng)游,承諾無(wú)英雄,無(wú)內(nèi)功,這也是《熱血傳奇》能講經(jīng)典延續(xù)多年的原因。此次手機(jī)版?zhèn)髌娴耐瞥觯瑢⒃俅斡厦褚?,推出無(wú)英雄無(wú)內(nèi)功版本的經(jīng)典設(shè)定,獻(xiàn)禮玩家!無(wú)英雄,無(wú)內(nèi)功,這樣的模式之下拼的是玩家真正的戰(zhàn)斗素質(zhì),純粹戰(zhàn)斗,樸素戰(zhàn)場(chǎng),相信你一定可以在《熱血傳奇手機(jī)版》找到你想要的感覺(jué)! -
火影疾風(fēng)傳
《火影疾風(fēng)傳》絕對(duì)忠于原著的漫畫(huà)劇情,完全還原動(dòng)漫經(jīng)典場(chǎng)景,上百種技能等你來(lái)選.超華麗技能特效,每個(gè)忍者擁有獨(dú)一無(wú)二的專(zhuān)屬技能,完全遵從忍者本身特點(diǎn),還原每個(gè)忍者獨(dú)特的能力與特色。 -
超級(jí)地城之光
把《超級(jí)地城之光》裝進(jìn)口袋! 游戲采用全方位3D視角完美呈現(xiàn)端游精美品質(zhì),四大職業(yè)萌態(tài)十足,超酷華麗技能掌上爆炫,強(qiáng)大裝備體系千變?nèi)f化,激爽光速PVP操控隨心,更有獨(dú)特戰(zhàn)魂小伙伴降臨,如影隨形,相伴冒險(xiǎn)! 彈指間,帶您領(lǐng)略掌上ARPG極致隨心體驗(yàn)! -
全民攻城
掀起全民攻城風(fēng)暴!首款真三國(guó)攻城戰(zhàn)役SLG手游,還原三國(guó)史詩(shī)經(jīng)典戰(zhàn)役。寫(xiě)實(shí)而壯闊的三國(guó)軍隊(duì)陣容,精細(xì)酷炫的視覺(jué)特效讓人欲罷不能。玩家將在游戲中招募武將軍師,使用戰(zhàn)斗策略,最終一統(tǒng)三國(guó)成就豐功偉績(jī),并與其它玩家一同抵抗異族入侵,保衛(wèi)家園! -
烈焰仙尊
《烈焰仙尊》是2014仙俠類(lèi)手游的夢(mèng)幻大作,精致場(chǎng)景,盡享精美;酷炫技能,驚天動(dòng)地;萌寵炫騎,帥氣拉風(fēng);仙魔陣營(yíng)對(duì)決,同城女神互動(dòng),許你神仙眷侶般萬(wàn)種風(fēng)情,圓你一個(gè)縱橫三界的仙俠夢(mèng)!《烈焰仙尊》,愛(ài)恨情仇,火爆啟程。 -
夢(mèng)王子九游版
夢(mèng)王子九游版是由蕪湖享游網(wǎng)絡(luò)技術(shù)有限公司開(kāi)發(fā),九游平臺(tái)代理運(yùn)營(yíng)的一款乙女向卡牌養(yǎng)成戀愛(ài)手游。游戲畫(huà)面唯美細(xì)膩,立繪采用日漫手繪風(fēng)格,配合百位知名聲優(yōu)傾情演繹,每位王子皆擁有“太陽(yáng)”與“月亮”兩種成長(zhǎng)路線與結(jié)局。玩家將在夢(mèng)世界中邂逅百位王子,體驗(yàn)專(zhuān)屬戀愛(ài)故事,收集海量戀愛(ài)CG,并通過(guò)經(jīng)典三消玩法進(jìn)行戰(zhàn)斗與互動(dòng)。上線即送九游專(zhuān)屬福利,適合熱愛(ài)戀愛(ài)劇情、卡牌養(yǎng)成與休閑玩法的玩家! -
星辰奇緣華為版
星辰奇緣華為版是一款高畫(huà)質(zhì)、高自由度的MMORPG回合制手游,融合策略戰(zhàn)斗與角色養(yǎng)成,提供五大職業(yè)選擇,打造沉浸式幻想世界冒險(xiǎn)體驗(yàn)。全新推出5人組隊(duì)奪寶奇兵模式,帶來(lái)更高挑戰(zhàn)與合作策略;多樣寵物進(jìn)化玩法、豐富家園系統(tǒng)與福利機(jī)制,為玩家構(gòu)建出充實(shí)有趣的游戲日常。支持華為賬號(hào)登錄與專(zhuān)屬禮包,是喜愛(ài)回合制手游玩家的不二之選! -
跳舞的貓
跳舞的貓,又稱(chēng)Dancing Cats,是以可愛(ài)的畫(huà)風(fēng)作為主要風(fēng)格的音樂(lè)節(jié)奏手游。跳舞的貓不僅收錄了悅耳的音樂(lè)歌曲,還設(shè)計(jì)了簡(jiǎn)單休閑的操作方式,是充滿趣味的音樂(lè)小游戲。跳舞的貓不僅能讓下載玩家放松心情,還能鍛煉節(jié)奏感與反應(yīng)能力,適合玩家打發(fā)時(shí)間、挑戰(zhàn)自己的音樂(lè)技巧,與貓咪一起在節(jié)奏中舞動(dòng)。 -
石河倫吾的朋友們中文版
石河倫吾的朋友們中文版是一款獲得正版授權(quán)、支持中文界面的像素風(fēng)校園動(dòng)作格斗手游,游戲以街機(jī)風(fēng)格的復(fù)古畫(huà)面搭配豐富多樣的角色設(shè)定與戰(zhàn)斗系統(tǒng),為玩家?guī)?lái)極具懷舊感的戰(zhàn)斗冒險(xiǎn)體驗(yàn)。玩家可自由選擇不同角色挑戰(zhàn)豐富關(guān)卡,通過(guò)戰(zhàn)斗獲得經(jīng)驗(yàn)與金錢(qián),解鎖技能、培養(yǎng)角色、探索城市劇情、結(jié)交朋友。游戲支持聯(lián)機(jī)對(duì)戰(zhàn)與多人互動(dòng),融合劇情選擇、戰(zhàn)略戰(zhàn)斗、迷你小游戲與自由探索等元素,是動(dòng)作游戲愛(ài)好者不可錯(cuò)過(guò)的像素精品之作! -
3Tiles安卓版
3Tiles安卓版將簡(jiǎn)約的操作與創(chuàng)新的玩法相結(jié)合,既能幫助玩家放松身心,又能鍛煉注意力與腦力。3Tiles游戲安卓版設(shè)置了豐富的關(guān)卡、精美的主題和特色道具,讓游玩內(nèi)容充滿樂(lè)趣和挑戰(zhàn),是適合下載玩家進(jìn)行挑戰(zhàn)的益智休閑手游,感受清新畫(huà)風(fēng)與趣味消除的獨(dú)特魅力。
-
像素火影網(wǎng)頁(yè)版一周年入口 像素火影一周年網(wǎng)頁(yè)版鏈接
- 送完P(guān)S5PRO又送NS2!《劍星》開(kāi)發(fā)商為慶祝游戲大賣(mài)贈(zèng)送每位員工一臺(tái)NS2!
- 開(kāi)啟卡牌新紀(jì)元,《影之詩(shī)》新資料片“超凡世界”正式上線!
- 魔獸世界冰dk天賦加點(diǎn)推薦
- NS2發(fā)布會(huì)匯總:港版售價(jià)3450港幣,馬車(chē)新作首發(fā)護(hù)航,支持4K120FPS輸出!
- 可能漲價(jià)?CDPR稱(chēng)《GTA6》漲價(jià)對(duì)他們來(lái)說(shuō)是有利的。
- 期待不?巴西博主曝Faker的S14冠軍皮膚選擇為永恩!
- 罵歸罵買(mǎi)歸買(mǎi)?育碧官宣《刺客信條:影》首日玩家數(shù)突破100萬(wàn)人!