电脑会犯错吗?当然,它可不是万能的,有时候也会发脾气,不听从指挥,有时候甚至会直接罢工。电脑很复杂,当它不能按我们预想的那样执行任务并给出结果时,存在的原因是错综复杂的。
用Word文档写了一篇文章,然后用电脑自动纠错软件来检查文章时,原本应该使用“美丽”却被你打成“魅力”的词语,却没有被这个纠错软件发现,这是怎么回事?是电脑任性看不上这么个小错误吗?
还有,在使用电脑中的计算器计算10除以3,得出的结果是3.3333333……可是把这个结果再乘以3时,得出的结果并不是10。这又是怎么回事呢?是电脑程序出错了吗?
像以上两种情况,电脑各方面都没有出错,可是,电脑在帮我们完成任务时,并没有出现理想的结果。这还真是奇怪。
别着急,我们先来看看这个自动纠错软件。一般来说,纠错软件在工作的时候,都是将自己接收到的字跟它本身储存的字加以比较,虽然写的文章里存在错误的词,但是每个单字都是对的,所以电脑并未把它们归为错别字。
这样看来,这对用错的词组没被发现出来,完全是自动纠错软件本身不够完美导致的。像这种程序没有错,程序员没有错,使用者更没有错,错就错在这款程序不够完善,没有针对“词组”进行纠错的情况,该怎么避免呢?
很简单,让程序员重新编程,在现有的基础上再增加一个“词组”纠错功能吧!
而像计算器上出现的这种不理想的结果,恐怕是没办法避免的了。因为,受屏幕的限制,电脑计算器是没办法把所有的无限循环小数显示出来的。
不过,像自动纠错软件出现的不尽人意的结果,倒是有很多,如:电脑在记录日期中也曾发生过错误,这样的错误一度震惊世界,引起了全世界人的重视,这样的错误还被取了个名字——“千年虫”。
在1996年,有一家汽车租赁公司购买了一批新车。通过查询电脑中的详细资料可以知道,这批车应该是在4年之后才需要被卖掉,但电脑提示,应该马上以10英镑一辆的价格卖掉这些车。这是怎么回事?电脑怎么会犯这么低级的错误?要是租赁公司真的按电脑提示立即卖掉这些车,将带来不可估量的损失。
电脑之所以会犯这样的错误,是因为电脑将2000年当成了1900年,其“罪魁祸首”就是程序员。程序员在设计程序时,仅让电脑储存日期的年份部分,而把世纪部分给落下了。也就是说,“1984”被当成“84”储存了起来,而没把表示世纪的那部分给存储下来。对于同一个世纪还好,不会有什么影响,而一旦遇到世纪的更替就闹笑话了。
而这个汽车租赁公司,刚好遇上了2000年,日期被记作了“00”,在这种情况下,有些没进行日期更新的电脑软件要么直接认为日期出错而罢工,要么就认为日期正确,并把它当成了1900年,因此当汽车租赁公司用电脑计算新车应该卖掉的时间时,电脑会认为这批车已经使用了96年,再不卖掉就是傻子了!
所以,程序员在测试的时候,如果能考虑得周到一点,这些错误便都可以避免。不过,百密必有一疏,程序员也不可能把所有的“情况”都提前设想到,使用者也就别太纠结了。
你知道吗
千年虫,又叫“电脑千禧年千年虫问题”或“千年危机”,就是计算机2000年问题。它指的是在某些使用了计算机程序的智能系统中,因为其中的年份仅使用两位十进制数来表示,导致系统进行跨世纪的日期处理运算时,就会出现错误的结果,进而引发各种系统功能紊乱甚至崩溃。所以,从本质上来讲,千年虫就是一种程序处理日期上的漏洞,而非病毒。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。