电脑的世纪危机

来源 : 1998 年 04 期 

电脑的世纪危机

作者: 李宁

2000年快到了,这是一个激动人心的时刻,我们每个人都有许多美好的想法。然而,时代的“骄子”——电脑却面临着一个非常尴尬的问题,即2000年问题。

早在60年代和70年代,电脑的记忆部分——存储器的制造成本非常高,价格自然十分昂贵。为了节省宝贵的存储容量,程序设计人员在进行软件开发时,把年份的四位数简写成两位数,例如把1968年简写成68年。这在当初看来是一种很合适的处理方式,既可以节省空间,又可以加快处理速度,而不致引起误会。然而令人始料不及的是,随着新世纪的临近,电脑将会把21世纪的年份当成20世纪的年份来处理!在20世纪的最后一天,电脑表示的数据比在21世纪第一天表示的数据要大,从而会引起错误和不合实际的计算。例如你在1999年12月15日拿信用卡向银行借款15美元,按年利息21%计算,到2000年1月3日,电脑将会显示一张要你归还23亿美元的帐单,因为电脑算了你99年的利息!

2000年问题所带来的社会性影响是多方面的,其主要表现之一是在商业方面。例如到了 2000年,你家里可能会接到电话公司的电话帐单,催交99年的电话费用,不把你吓一跳才怪哩;你的朋友家里可能会因为“将近100年没有缴费”而被切断水、电和煤气的供应;你的银行存款本来不多,可是你将会在一夜之间就会变成百万富翁;许多商品会被认为已经存货将近100年,早已过了保质期而不再销售;如果某一客户向保险公司投保至1999年12月31日,进入2000年后,由于日期的年份简略表示成“00”,小于“99”,这位客户仍然可以继续向保险公司索赔保险金额,这样一来,将会给保险公司造成巨大的损失。

解决2000年问题的方法不外乎两种方法,一种是把原来的软件丢掉不要,重新建立一个既能充分利用当前先进的电脑技术,又能适应新世纪日期变更要求的系统。这种方法显然会带来巨大的费用开支和很大的风险,如果以平均每分钟写1行程序来计算的话,那么对所有要重写的程序进行改写要36万人年——即1万名电脑高级编程人员同时工作,需要36年才能完成!第二种方法——修改程序——可不是件简单的事,有时候修改一个程序比重新编写一个程序更难。一个大型的软件包往往由很多子软件包组成,子软件包下又有许多个程序,程序之间相互关联,错综复杂,而且日期分布面广,修改起来费时费力,并且难以确保修改完全正确。稍有不慎,就有漏改的日期,可能就是那个漏改的日期到时候会把整个系统搞得乱七八糟。

当然,这样说并不表示人类对此毫无办法,事实上,许多电脑专家已经提出了一些切实可行的解决方法,并且正在实行之中。例如有一种方案是,2进制码的69 ~ 99代表的是1969 ~ 1999年,而00—68代表的则是2000 ~ 2068年,这是过渡时期的一种强制解决方式。又如惠普公司在因特网上设立专门的站点,围绕2000年问题进行讨论,各个操作系统和应用程度都考虑在内,针对不同的情况提出了不同的解决方案。在硬件方面,电脑厂商推出的产品均已经支持“2000年”,不需人为干预,而且有些电脑可以通过软件对硬件直接升级以解决2000年问题。

但是,解决2000年问题所花的费用是惊人的,有人做过粗略估计,认为2000年问题是人类历史上花费最昂贵的问题之一。单就美国来说,估计将要花费2700亿美元,相当于每个美国公民负担900美元。

2000年问题原本是一个很普通的技术问题,但又是一个重大的社会问题,让许多电脑专家伤透了脑筋。我们相信,人类既然能发明电脑,那就能控制电脑。在人类的共同努力下,2000年问题应该会得到圆满地解决,电脑也将在新世纪继续更好地为人类服务。

同期文章

    关键词相关

      作者相关