4

Google 计算器处理大额数字加减法时出错的根本原因

2009年8月26日

感谢读者 郝晓茹 的投递:

Google计算器在处理大额数字减法时出错。其实谷歌处理大额数字加法时也会不准确,比如999999999999+9999999999999,谷歌不会给出个位是8的准确答案来。

20090825-subtract-google

是什么造成了这种情况的出现呢?大额数字在计算机内处理时通常有一个两部分的浮点格式组成,即用尾数乘以10的次方。例如说,Google在第二季度的营收为12.5亿美元,也可以表示为1250000000美元或1.25乘以10的9次方,或1.25 x 10^9美元。浮点格式有助于数字的延展,但第一部分仅保留了有限的部分数字,因此便会出现计算偏差的问题。

计算机上的精确计算此前需要通过二进位制完成,也就是说,当人们在计算机上输入十进位制的计算数据之后,计算机先需要把数字转化为二进位制数字,在计算完成之后,再把数据转化为十进位制数据。最新的技术已经可以进行十进制直接计算,比如IBM,但是谷歌还没有革新技术。

此前,微软的Excel计算也曾出现过这一问题,英特尔奔腾处理器刚推出的时候拥有浮点数除法不正确的错误(FDIV Bug),但两家公司都已对此进行了修改。从理想的角度出发,Google应当对计算器中出现的错误进行修改。

本站文章除注明转载外,均为本站原创编译
转载请注明:文章转载自:谷奥——探寻谷歌的奥秘 [http://www.guao.hk]
本文标题:Google 计算器处理大额数字加减法时出错的根本原因
本文地址:http://www.guao.hk/posts/why-google-cant-subtract.html
本文短网址:http://guao.cc/Z0p
作者: 分类: 观点/评论 标签: ,
  1. woshow9
    2010年1月17日00:48 | #1

    这都发现了……

    Thumb up 0 Thumb down 0

  2. 2009年8月26日21:07 | #2

    这种错误还好意思找什么理由,赶快修改吧。

    Thumb up 0 Thumb down 0

  3. 2009年8月26日17:04 | #3

    LZ肯定没搞过OI……

    Thumb up 0 Thumb down 0

  1. 2009年8月27日04:50 | #1
首次留言需审核,之后不会再审核。由于缓存机制您的留言可能不会立即显示出来,请稍后刷新本页面

您可以直接点击别人评论右侧的回复,这样您的回复评论将同时发到原作者信箱