请输入您要查询的百科知识:

 

词条 10000年问题
释义

10000年问题是所有软件可能在表示五位数年份时发生的问题的总称。在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则会造成软件术语中的溢出,但事实上,2958465的二进制表示为101101'00100100'10000001,而2958466则是101101'00100100'10000010。这两个值在二进制中皆为22位数。在这些软件中提及的溢出问题最有可能是源于它们的浮点表示法(在Excel中,第1.5天是1900年01月01日的12:00:00)。它们可能被以变种的IEEE浮点标准存储。而此一部份之数字有23位数的空间。

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

有记录的问题

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

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/23 12:46:22