黑客24小时在线接单网站

1970 1 1

jason2021-08-15 06:57:5487918

最近苹果的“1970事件”闹得沸沸扬扬。很多好奇的人,“好奇心害死猫”,用了iOS设备,抱着好奇的态度,他们的爱机真的变成了砖头。众所周知,几乎所有运行iOS8以上64位处理器的设备都得以幸免。如果你把iPad或iPad的时间设置为1970年1月1日,然后反复关闭和打开,你的手机就会变成一块砖头。让我们看看什么是“幽灵”1970。

苹果1970事件让我们看看到底是什么

知识储备:UNIX时间邮票

当我们理解“1970事件”时,我们需要知道的一件事是UNIX时间印章。IOS系统时间用UNIX时间stamp()(数据类型)表示。在系统中,使用系统位的几个二进制位来存储时间。UNIX时间戳规定,UTC时区1970年1月1日0: 00: 00的值为0,以秒为单位,即每秒钟二进制数增加1。

有了这些知识储备,让我们来看看配备64位处理器的iOS设备的时间bug。我们谈到了1970年1月1日0: 00: 00在UTC时区的边界。值为0,时间正常通行为正,否则为负。但是,您应该注意到时间受到时区的影响。

图为iOS手机

让我们假设我曾经在北京时区,时间被设置为1970年1月1日0: 00: 00,然后我用公式将这个时间转换为UTC时间,北京时间=GMT 8=UTC 8,UTC时间是1969年12月31日16: 00: 00。这样就会出现负时间,即时间回归bug触发,系统启动被卡在阶段,时间出错,并且不可能继续启动。

所以既然事件不能向前推进,好奇的朋友可能会向后推进。当我们向后移动时,我们会发现iOS可以设置的最大时间是2038年1月1日,以后不能再设置了。为什么时间只能调到这里?

手机时间的计算原理

让我们理解在32位系统中,它是32位有符号整数()类型。第一个二进制位是符号位,用于存储正数和负数。正数是未来的时间,负数则相反;剩余的31位用于计数。当时间在2038年1月19日达到3: 14: 08时,所有数字位前进1,导致符号位设置为1,其余31位为0。到时候会出现“时间’s return”的情况,系统时间会改成1901年12月13日20: 45: 52,系统会有错误。

相关阅读

  • 盘点苹果2020年重大事件
  • 苹果iphone 12事件
  • 1970 1 1
  • 本文链接:http://www.1516qp.com/sports/4656.html

    网友评论

    当前共有18条评论