解释为什么iPhone时间调整到1970就变砖头[图]
你或许已经得知,在 iPhone 5s 以上的 64 位 设备上,把时间调整到 1970 年 1 月 1 日,甚至 1970 年的任何时间,都会直接让 iPhone 变砖……
希望你不是通过亲自尝试才了解到的……
事实上,你不需要特别深入的计算机知识,就可以明白为什么 iPhone 将时间调到 1970 年会变砖:
拥有丰富的 iOS 和 Mac 设备 Bug 研究经验的技术人士 Tom Scott 认为,这是 iOS 系统背后的 UNIX 时间戳的整数下溢(Unix Epoch Integer Underflow)所导致的问题。
为此,我们撰写了一份文字版的傻瓜说明,告诉你为什么 iPhone 时间调到 1970 年会变砖。
UNIX 时间
UNIX 时间是当年的计算机工程师们为了在系统中更加清楚明了表达时间,所引入的一个设定。
正常人表达时间是这样的:2016 年 2 月 17 日 下午 12:54:41
UNIX 系统表达时间是这样的:1455684881
你可能会问:为什么计算机不能像正常人那样表达时间呢?
如果你学过中学地理可能会明白,由于全世界有 24 个时区,每个时区在同一时刻的时间都不一样,结果导致如果计算机系统像人一样记录时间将会异常的复杂,导致各种各样的故障。因此,你也可以理解为,UNIX 程序员们为了省事儿,开发了一个小程序……在这个程序的基础上,UNIX 系统再通过你的电脑或手机所处的地理位置计算时区,告诉你正确的时间。
具体来说,协调世界时 1970 年 1 月 1 日 0 时 0 分 0 秒被设定为 UNIX 时间的“零时”。上面那组数字的意义:现在距离 1970 年 1 月 1 日 0 时 0 分 0 秒,过了多少秒。
这个系统一直沿用至今。
明白 UNIX 时间,继续往下讲你就能明白了。
二进制、位元系统、整数溢出和整数下溢
看上去超级复杂的四个词……但别着急,一步一步看你就能看懂。
计算机,包括 PC、手机等等,采用二进制(0 和 1 )来表达一切,因为这意味着计算芯片上每一个晶体管的两个状态:关和开。所有调到 1970 年而变砖的 iOS 设备都是 64 位的。这意味着,这台设备最多可以储存处理 64 个二进制位元,也就是 64 个 0 或 1。
游戏大全
- 重装机兵3大破坏密码
- 御龙修仙传下部2上古战场
- 脑洞大挑战:脑洞大挑战通关攻略
- 天刀唐门:天刀唐门主堆什么属性
- 魔物娘岛屿:魔物娘岛屿游戏全攻略
- 守望先锋皮肤:守望先锋皮肤怎么获得
- 明日之后职业选择 明日之后职业选择什么最好
- 不思议迷宫卡牌幻境隐藏
- 消逝的光芒手机版,消逝的光芒手机安卓版
- 奶块深渊药水配方 奶块深渊药水配方100%
- 迷你世界驯服大全,迷你世界驯服大全及生孩子
- 明日之后洞穴菇:明日之后山洞菇食谱
- 洛克王国烈火战神超进化 洛克王国烈火战神超进
- 完美世界手游捏脸,完美世界手游捏脸数据
- 王者荣耀花藤特殊名字,王者游戏花藤名字大全
- 阴阳师山风御魂,阴阳师山风御魂搭配 ssr山风怎
- 亚克托斯皮肤价格,亚托克斯炫彩皮肤怎么买