不二如是 发表于 2017-1-4 11:11:13

千年虫 Y2K bug

本帖最后由 不二如是 于 2017-1-4 11:28 编辑



“千年虫”问题的根源始于60年代。

由Bob Bemer,在1971年,最早提出。

当时计算机存储器的成本很高,如果用四位数字表示年份,就要多占用存储器空间,就会使成本增加。

因此为了节省存储空间,计算机系统的编程人员采用两位十进制数字表示年份。

随着计算机技术的迅猛发展,虽然后来存储器的价格降低了。

但在计算机系统中使用两位数字来表示年份的做法却由于思维上的惯性势力而被沿袭下来, 年复一年。

直到新世纪即将来临之际,大家才突然意识到用两位数字表示年份将无法正确辨识公元2000年及其以后的年份。

进而引发各种各样的系统功 能紊乱甚至崩溃。

1997年,信息界开始拉起了“千年虫”警钟,并很快引起了全球关注。


主要是两个问题:

1.在一些计算机系统中,对于闰年的计算和识别出现问题,不能把2000年识别为闰年!

即在该计算机系统的日历中没有2000年2月29日这一天,而是直接由2000年2月28日过渡到了2000年3月1 日;

2.一些比较老的计算机系统中,在程序中使用了数字串99(或99/99等)来表示文件结束、永久性过期、删除等一些特殊意义的自动操作。

这样当1999年9月9日(或1999年4 月9日即1999年的第99天)来临时,计算机系统在处理到内容中有日期的文件时,就会遇到99或99/99等数字串,从而将文件误认为已经过期或者将文件删除等错误操作,引发系统混乱甚至崩溃等故障。

因此从根本上说千年虫是一种程序处理日期上的bug(计算机程序故障),而非病毒。

wei_Y 发表于 2017-1-5 17:36:25

2037年是不是所有32位都会灭绝。。

不二如是 发表于 2017-1-5 17:42:23

wei_Y 发表于 2017-1-5 17:36
2037年是不是所有32位都会灭绝。。

现在其实32位,跟灭绝差不多了{:10_254:}
页: [1]
查看完整版本: 千年虫 Y2K bug