发布时间:2023-12-03 19:15:01源自:http://www.sporj.com阅读
在2011年,一位计算机技术爱好者在某个论坛上提出一个问题:全球最普遍的电话号码是什么?通过一段时间的搜索,他惊讶地发现答案非常简短:214-748-3647。这一串普通数字在谷歌上的相关搜索结果竟然高达285,000条。然而,这串看似无奇的数字实际上蕴含了一种神秘的魔力,它不仅是最常见的电话号码,还频繁出现在工程和计算机领域。本文将揭秘2,147,483,647这个数字背后的秘密,以及它在现实生活中所涉及的种种应用与影响。214-748-3647,在那时,其在谷歌上的搜索结果约有285,000条。在我国也有不少关于这个号码的信息。这个号码的主人究竟是谁?为何它能同时在众多中出现?其实,这串数字具有“神秘力量”,它不仅是全球最普遍的号码,还经常出现在工程和计算机领域。如果您看到这串数字,建议立即停下來思考一下是否有些地方存在问题。神秘数字2,147,483,6472,147,483,647并非普通的数字。它恰好是一个质数,而且2,147,483,647这个数值等于2^31 - 1,因此它也是第八个梅森素数(即形式为2的整数次幂减1的质数)。然而,2,147,483,647最重要的一个身份,是32位计算机操作系统的计数上限。今天的计算机系统大多可以追溯到IBM System/360操作系统,这是世界上首个指令集可兼容计算机。
在这个系统中,整数使用4个字节进行保存。一个字节(byte为8位)意味着,一个字节实际上只有32位可用(即最高位是符号位,因此实际可用的位数只有31位)。由于一个位有两个状态(0或1),因此所能保存的最大整数为2的31次方减去1(0占用了一个名额,即2,147,483,647)。如果存储的整数超过这个值,系统会发生整数溢出(integer overflow),此时系统会将数值自动转换为2,147,483,647。
有趣的是,许多程序员将电话号码视为普通整数,并使用4个字节进行保存。因此,当用户输入的号码大于2,147,483,647时,该号码将被自动转换为这个数字,从而成为网络上最常见的电话号码。需要注意的是,当数值超过2,147,483,647时,可能会引发一些问题。
尽管2,147,483,647不仅仅是电话号码中最常见的数字,还经常在其他地方出现。例如,在2020年的游戏《原神》中,有一位玩家利用外挂,打出伤害值为2,147,483,647点(因为无法再提高数值)。虽然这种行为在游戏中不会导致账号被封,但在道德上并不推荐尝试。
在正常情况下,2,147,483,647大约相当于21亿,这是一个相当庞大的数字,足以满足大多数需求。然而,随着互联网的快速发展,超过这个数值并非不可能。
在虚拟世界中,整数溢出的问题或许只是小菜一碟,但在工程领域,整数溢出可能导致程序崩溃,其后果可能非常严重。2015年,美国联邦航空管理局(FAA)发布了一份报告,指出波音787飞机可能会因整数溢出问题而突然“死机”。
具体来说,负责调节飞机引擎燃油供应的控制组件以0.01秒的精确度进行计时。当飞机连续飞行248天后,计时系统将达到2,147,483,647个0.01秒,此时会发生溢出,触发控制组件进入故障保护模式(failsafe mode)。
尽管这个问题令人恐惧,但其解决方法却异常简单且直接,那就是定期关机并重新启动。当计时器指向2,147,483,647秒时,结果会怎样呢?
通常情况下,重新启动设备并不会使时间回溯,例如你的手机上的时间显示。这些设备主要采用基于UNIX时间系统的机制,该系统从1970年1月1日的00:00:00(UTC时间点开始计时)。那么,这个系统何时会达到计时上限呢?答案是——15年后。
1999年,一位名为William的人提出了这个观点。
Porquet的程序员发现,到2038年1月19日03:14:07,恰好是1970年1月1日起的第2,147,483,647秒。这就好像2038版本的“千年虫”问题。于是,Porquet建立了一个名为2038.org的,以提醒同行及时进行调试。当然,他也收到了许多类似的反馈:“好的,我们在2037年再去调试。” Porquet担心,一些无人维护的软件届时可能会陷入崩溃,从而产生未知的后果。然而,剑桥大学的计算机科学家Markus Kuhn在接受BBC采访时表示,许多旧软件和设备预计在2038年之前已经被淘汰,或者在2000年的“千年虫”问题得到升级改造,因此预计2038年不会出现比“千年虫”更加严重的问题。
说到设备淘汰,至少固话已经走上了这条道路。在过去十年中,全球的固话逐渐被移动电话所取代。回想一下你上一次使用固话是什么时候,就能直观地感受到这种趋势。在我国,固定电话普及率从2011年的21.3部/百人下降到2021年的12.8部/百人,也就是说目前只有大约十分之一的人仍在使用固话。
随着固话的退出(和程序员们的进步,最典型的电话号码214-748-3647,也和固话一样,成为了时代的眼泪。如果你喜欢这个数字,可以在北京时间2038年1月19日11:14:07,在心中向它举杯致敬,并庆祝人类成功度过了这个小危机。
参考文献
碎片百科网 Copyright©2018-2019 All Rights Reserved
免责声明:本站所有图片、文字除注明原创外均来源于互联网,版权归原作者所有,若侵犯到您的权益,请立即联系我们删除,谢谢合作! 琼ICP备2023011107号-1