千年虫问题
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
千年虫问题
千年虫不是电脑病毒,它不会主动传染,也不会对您的电脑系统进行主动攻击和破坏。
同样的,千年虫也不是虫子,不会主动在您的系统里活动和游走。
请注意,千年虫只是程序中固定存在的一种结构缺陷而已,这种缺陷是固定的,只有在进行日期处理时才发生错误,进而会引发混乱。
如果没有日期处理,就根本谈不上错误。
本人在此要申明的一点是,如果您经过严格的测试,能够确信在使用某系统的过程中所涉及的所有命令、函数和工具都不会受到千年虫的影响,那么即使这个系统还有您用不到的命令、函数或工具存在千年虫,也没有关系。
因为在这种情况下,用不到那些有千年虫的工具或函数,千年虫也就根本没有发作的机会。
当然,如果一个向其他程序输出计算结果和服务的基础程序因为千年虫发作而出错,会肯定造成使用其错误结果的其他程序也发生错误。
但这种情况下,其他程序的错误并不是因为其本身的千年虫,而是因为使用了基础程序提供的错误数据结果。
1945年,世界上出现了第一台电子数字计算机,而且当时人们习惯简称年号的后两位,因此,年号的区别只是两位数。
这导致电脑里对时间的处理时,时间结构对年号的设置只是两位数,机械地在这两位数前面加上“19”就可以了。
这使得进入2000年时,电脑时间的处理中,对年号+1就成了00年,亦即将2000年默认为是1900年,电脑要不就认为这是100年前的时间,要不就无法识别这个时间,从而软件运行出错或干脆无法运行。
这就是十年前著名的千年虫问题。