作者bztfir (蝴蝶)
看板b99902HW
标题[问题] 关於pow的问题
时间Sun Oct 10 11:07:45 2010
在做这礼拜计程作业的时候我碰到了一个大麻烦
n = (int)pow(10,2)
n print出来会是99
有人知道为什麽的可以救救我吗Orz...
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.73.103.249
1F:→ LPH66:整数次方请自己写 for 乘 否则会被浮点数精确度整到 10/10 11:21
2F:→ LPH66:记得使用浮点数及其相关函式请一定记得浮点数精确度误差 10/10 11:22
3F:→ bztfir: 这是啥?^^^^^^^^^^^^^^^^ 10/10 11:23
4F:推 s864372002:(int) (pow(10,2) + 1e-9) 试试看:) 10/10 11:24
5F:→ s864372002:就是99.99999999999999会被无条件舍去到99 10/10 11:24
6F:→ s864372002:浮点数没办法完全精确地表示出所有数字,会有误差。 10/10 11:27
8F:→ LPH66:我是忘记现在计概会不会教 IEEE754 了啦... 10/10 11:29
9F:→ s864372002:1e-9 就是 10^(-9) 称为eps,想像一下ε是做什麽的XD。 10/10 11:30
10F:推 s864372002:B98没有,我们课本上的浮点数是神秘的东西,非IEEE标准 10/10 11:34
11F:推 avesta:....可以详细说明一下完整的程式码吗 10/10 13:05
12F:→ avesta:用Dev-C++测试不管用cout还是printf都是100 10/10 13:06
13F:→ avesta:而且照理说fint(floating-point int)在2^53以下精确度应该 10/10 13:10
14F:→ avesta:都和int一样吧 10/10 13:10
15F:→ JT0109:他上次害我困扰很久= = 最後乾脆自己FOR了... 10/10 14:56
16F:推 jimmyken793:浮点数误差 10/10 21:57
17F:→ bill8124:在做这礼拜计概作业?????????? 哪里需要用到??? 10/10 23:20
已改正
18F:推 ianlini:他发太多文笔误 应该是计程 10/10 23:26
19F:推 ianlini:那题用阵列似乎比较好写... 10/10 23:30
※ 编辑: bztfir 来自: 203.73.103.249 (10/10 23:54)
20F:推 pf5179:阵列可以吃吗? 10/11 01:03