10000年问题

✍ dations ◷ 2025-02-24 19:17:07 #程序错误,年问题,未来问题

10000年问题(Year 10000 Problem,简称Y10K)是所有软件可能在表示五位数年份时发生的问题的总称。在2000年问题引起人们关注的一段时间中,10000年问题曾被以幽默的方式被人们在媒体中披露。实际上,在10000年时,由于未来科技及软件的进步-不再只以少数几个数字表示年份,这可能不再是个问题。

许多需处理日期的程序会在2000年时将年份错误显示为1900年、19100年或100年,因为工程师直接在以两位数记录的年份前面加上"19"以简化程序或节省存储器空间。这类的日期显示错误不太可能在10000年来临时再度发生,因为这种记录方式在此时是没有用处的。然而,部分程序在处理日期时只会显示末4码的年份。这可能会导致10000年被显示为"0000年"。

这个问题可以在今日相当普及的表格软件Microsoft Excel中发现。因为它以"自1899年12月31日起经过的天数"来储存日期(以此规则,第1天是1900年1月1日)。在数据库软件Microsoft Access中也有同样的问题。它以"自1899年12月30日起经过的天数"来储存日期(第一天是1899年12月31日)。在上述任一个程序中,输入第2958465天会产生日期9999年12月31日。

对此数值再加1(即2958466)则会造成编程语言中的溢出(Excel中为显示一列#号),但事实上,2958465的二进制表示为101101'00100100'10000001,而2958466则是101101'00100100'10000010。这两个值在二进制中皆为22位数。在这些软件中提及的溢出问题最有可能是源于它们的浮点数表示法(在Excel中,第1.5天是1900年1月1日的12:00:00)。它们可能被以变种的IEEE浮点标准存储。而此一部分之数字有23位数的空间。

Long Now基金会(英语:Long Now Foundation)正尝试促进以5位数书写/记录年份的习惯,以此,2000年将会被记录为"02000",如此将能预防10000年问题(一万年虫问题),但这将再次遇到100000年问题(十万年虫问题)。

2000年问题因为以2位数字表示4位数年份,而前两位的"世纪"年份无法被正确决定而产生。被记录的年份应该加上2位的"世纪"年份以解决此问题。10000年问题不需要更新任何旧纪录,因为4位数字已经足够纪录4位数的年份。它将只需要新的纪录方式以记录5位数年份。然而,仍然有一个在使用字典序(lexical sorting)记录时可能会发生的问题。例如,在表示10000年的日期时,它可能会出现在1000年的旁边,而不是在9999年的旁边。

相关

  • 哈维兰彗星型德·哈维兰“彗星”(De Havilland Comet,D.H 106)是由英国哈维兰公司研发的喷气式客机。亦是全球首款以喷射引擎为动力的民用飞机,外表以0.5毫米的铝制蒙皮包覆,且可飞行至10000
  • 土卫二极小,但变化很大。土卫二又称为“恩赛勒达斯”(Enceladus),是土星的第六大卫星,于1789年为威廉·赫歇尔所发现。在旅行者号于1980年代探测土星之前,人们只知道土卫二是一个被冰覆
  • 到此一游到此一游可以指:
  • 彼得·比尔·波特彼得·比尔·波特(英语:Peter Buell Porter,1773年8月14日-1844年3月20日),美国政治家,美国民主-共和党成员,曾任美国众议员(1809年-1813年、1815年-1816年)和美国战争部长(1828年-1829
  • 双凹两坑螺双凹两坑螺(学名:)为瞳孔蜗牛科两坑螺属的动物,是中国的特有物种。分布于湖北等地,生活环境为陆地,多生活于潮湿、多腐殖质的灌木丛、草丛中、落叶石块下以及在山区、丘陵、农田、
  • 韩德君韩德君(1987年5月10日-)中国职业男子篮球运动员,效力于辽宁衡润飞豹篮球俱乐部,司职中锋。韩德君出生于辽宁省锦州市,(一说出生于大连市)小学6年级时来到辽宁省体校训练,但最终被辽宁
  • 图钉图钉是一种以金属制成、下端尖锐、上部有明显圆盖的钉子;通常用来将文件固定在壁面(例如软木板)上;其上部圆盘的设计使得图钉非常容易插上及取下。最常见的图钉,是带有黄铜色扁
  • 黄秉中黄秉中(1654年-1718年),字惟一,清朝官员。奉天海城人。荫监生出身。康熙二十年(1681年)任山东范县知县。康熙二十八年(1689年)陞贵州黔西州知州。历刑部员外郎、吏部郎中、监察御史、
  • 辛德勇辛德勇(1959年8月11日-),辽宁铁岭开原人,历史学博士,2004年12月任起,北京大学中国古代史研究中心教授。主要从事中国历史地理学、历史文献学研究,兼事地理学史研究。师从历史地理学
  • 丹吉尔 (弗吉尼亚州)丹吉尔(英语:Tangier)位于美国弗吉尼亚州阿可麦克县,切萨皮克湾的丹吉尔岛。2010年人口普查为727人。最初的定居者大多数来自英格兰西南部,当地人有独特的英国口音。丹吉尔岛载入