-

- 加为好友
- 发送私信
- 在线聊天
gracexu
- 等级:

- 可用分等级:
- 总技术分:
- 总技术分排名:
|
| 发表于:2008-08-24 00:43:583楼 得分:0 |
楼主说的没错,这个问题确实是由于双精度造成的. 双精度就是浮点数,当我们很明确的十进制小数.比如 0.1 ,用计算机二进制表示成浮点数的时候反而是个无限循坏小数. 换句话说,我们看上去很"精确"的十进制小数,表示成浮点数后反而会很复杂. 浮点数的加减乘除,当两个操作数的指数不一样时,会出现很多奇怪的结果.楼上做的那个双精度下的比较就说明了这个问题, cdbl(47.415+26.5265-73.9415) 和 cdbl(4.7415*10+26.5265-73.9415) 两个结果也是不一样的,后者比前者要精确,因为把指数凑成一样的了. 楼上其实已经给出了解法,不要做浮点数表示的比较了. | | |
修改
删除
举报
引用
回复
| |