土木在线论坛 \ 站务休闲 \ 闲聊茶吧 \ Excel 2007重大bug

Excel 2007重大bug

发布于:2007-09-26 19:27:26 来自:站务休闲/闲聊茶吧 [复制转发]
Excel 2007里存在一个重大bug,会将850*77.1错误地计算为100000,而不是65535。

当然,850*77.1并不是一个特例,不信你可以在Excel 2007里计算下边这些乘法:

=5.1*12850
=10.2*6425
=20.4*3212.5
=40.8*1606.25
=154.2*425
=212.5*308.4
=308.4*212.5
=425*154.2

结果都是100000吧?

这个看起来有些不可思议的问题很快得到了多名专家的确认,Excel MVP Bernad Leingme更是第一个站了出来。

事实上,问题出现在65535这个数字上。虽然现在还没能最终肯定到底是什么原因,但考虑到65535这个数字的特殊性(转换成二进制就是1111111111111111),初步怀疑Excel 2007在浮点计算或者舍入误差方面出现了失误。另外还可以看出,出错的乘法公式中至少有一个数字带有一位小数。

更进一步地,如果把上述乘法之一放在A1单元格里,然后A1+1就会返回100001,A1*1返回100000,A1/1返回100000。这些无疑都是错误的,因为Excel 2007已经把A1的值当成了100000,不过奇怪的是,A1*2返回的却是正确的131070,A1-1也是65534没错,A1/2也准确得到了32767.5。Excel 2007如此反复无常的确令人难以琢磨。

测试还表明,Office 2000/XP/2003等旧版本都不存在这个bug,看来只是Office 2007的新“专利”了。

出现这么低级的bug,微软工作人员开发和审核的不严谨是很显然的,至少可以说是百密一疏,尤其是旧版产品反而没有问题,无疑会让微软更加尴尬。
各位要是用2007要小心了。


1190806035682.jpg

全部回复(2 )

只看楼主 我来说两句抢地板
  • cherilynn_0
    cherilynn_0 沙发
    比较少用这个算东西啦,没去怎么研究,看来楼主是碰巧碰上了,这版本是最新的吗,可能还不太稳定吧
    2007-09-27 00:02:27

    回复 举报
    赞同0
  • z_d_p@co163
    z_d_p@co163 板凳
    还在用2003版的呢,看07版的界面好漂漂啊...
    2007-09-26 23:47:26

    回复 举报
    赞同0
这个家伙什么也没有留下。。。

闲聊茶吧

返回版块

114.55 万条内容 · 193 人订阅

猜你喜欢

阅读下一篇

同志们,你们的图纸修改的多么?

唉,现在的甲方根本不把设计师当人看了,想改就改,竟然有些方案要改个十几遍,很多都是不给钱的,改来改去最后竟然还是喜欢第一个方案!晕死,同行们,你们有这样的情况吗?

回帖成功

经验值 +10