楼主:
la8day (la8day)
2015-05-09 01:37:19开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
MinGW g++
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
无
问题(Question):
我有天刚好需要算到98的5次方时,想说使用cmath/math.h的 pow()函式来运算
发现float的98^5竟然和double的98^5算出来不一样,直接差在整数位
可是后来去查,发现pow也有float的overloading呀
之后又试了powf(),发现结果还是一样错....用codepad跑过也是一样错...
后来又用了cmath和math.h都试了也是一样,不知是否是我误用?
如果是的话,要怎么正确对单精度浮点数作指数运算呢?
喂入的资料(Input):
98.0f的 5.0f 次方
预期的正确结果(Expected Output):
9039207968.000000
错误结果(Wrong Output):
9039208448.000000
程式码(Code):(请善用置底文网页, 记得排版)
http://codepad.org/sdqGxWaH
补充说明(Supplement):
详细就如codepad连结