APP下载

四舍五入惹的祸

2022-12-21金钟河

风流一代·经典文摘 2022年12期
关键词:计算机软件核算计算机

金钟河

1982年1月,温哥华证券交易所公布了新的股票指数。该指数的初始值是1000.000,22个月后,股票指数滑到了520左右。这段时间没有发生過大的经济萧条或外汇危机,股票指数为什么缩水了一半呢?

股票指数是在证券交易所上市的所有股票售价的基础上进行核算的。计算机每天平均要对股票价格进行2800次左右的计算和更新,计算时会保留小数点后3位。

当时,温哥华证券交易所的计算机软件计算股票指数时,没有将小数点后第四位进行四舍五入,而是直接舍去。

如股票指数540.32567,计算机会去掉小数点后第三位之后的数字,这样,最终结果就变成了540.325。相反,如果四舍五入,股票指数就是540.326。

一次计算中,直接舍去和四舍五入,只产生0.001的差异。但这种差异,每天少则累积几百次,多则几千次。

这种差异不断累积,终于导致股票指数开始下滑。

温哥华证券交易所的股票指数,与小数点后第四位数字四舍五入的正常值相比,每天都会下滑1到2个百分点。22个月过去后,股票指数与刚开始相比,几乎差了一半。

最终,温哥华证券交易所承认,是计算机软件计算股票指数时出现了问题。

他们公布了新的股票指数,并对之前22个月的交易记录重新进行了核算。结果显示,股票指数从524.81上升到了1098.892,几乎多出一倍。

软件bug(缺陷)并不大,它引发的后果却十分骇人。

(摘自人民邮电出版社《致命Bug:软件缺陷的灾难与启示》)


登录APP查看全文

猜你喜欢

计算机软件核算计算机
2020年河北省国民经济核算
计算机操作系统
基于计算机自然语言处理的机器翻译技术应用与简介
会计集中核算制下的内部审计工作
基于C语言的计算机软件编程
浅谈不同编程语言对计算机软件开发的影响
信息系统审计中计算机审计的应用
浅谈基于C语言的计算机软件程序设计
2014年GDP首破60万亿
Fresnel衍射的计算机模拟演示