亚洲美腿丝袜 欧美另类,亚洲精品久久久久久久蜜桃,综合久久,又黄又爽又色视频,一性一交一口添一摸视频

游戲鳥(niǎo)手游網(wǎng),重度移動(dòng)游戲垂直門(mén)戶!

最新游戲 | 最新軟件 | 游戲更新 | 軟件更新 | 推薦游戲 | 推薦軟件 | 合集排行
您當(dāng)前位置:游戲鳥(niǎo)手游網(wǎng) > 大陸新聞 > 解釋為什么iPhone時(shí)間調(diào)整到1970就變磚頭

解釋為什么iPhone時(shí)間調(diào)整到1970就變磚頭

作者:火焰術(shù)士 發(fā)布時(shí)間:

你或許已經(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)題。

解釋為什么iPhone時(shí)間調(diào)整到1970就變磚頭

為此,我們撰寫(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)查看。
復(fù)制本文鏈接攻略文章為游戲鳥(niǎo)手游網(wǎng)所有,未經(jīng)允許不得轉(zhuǎn)載。
玩家要聞更多
相關(guān)資訊更多
熱門(mén)資訊更多
  1. 1 《絕區(qū)零》聯(lián)動(dòng)芬達(dá)PV公布,還有限定周邊!
  2. 2 像素火影網(wǎng)頁(yè)版一周年入口 像素火影一周年網(wǎng)頁(yè)版鏈接
  3. 3 送完P(guān)S5PRO又送NS2!《劍星》開(kāi)發(fā)商為慶祝游戲大賣(mài)贈(zèng)送每位員工一臺(tái)NS2!
  4. 4 開(kāi)啟卡牌新紀(jì)元,《影之詩(shī)》新資料片“超凡世界”正式上線!
  5. 5 魔獸世界冰dk天賦加點(diǎn)推薦
  6. 6 NS2發(fā)布會(huì)匯總:港版售價(jià)3450港幣,馬車(chē)新作首發(fā)護(hù)航,支持4K120FPS輸出!
  7. 7 可能漲價(jià)?CDPR稱(chēng)《GTA6》漲價(jià)對(duì)他們來(lái)說(shuō)是有利的。
  8. 8 期待不?巴西博主曝Faker的S14冠軍皮膚選擇為永恩!
玩玩用用更多
精選資訊更多
熱門(mén)專(zhuān)題全部>
熱門(mén)標(biāo)簽全部>