帮忙看下为什么输出不正确
本帖最后由 冥顽 于 2016-1-9 22:01 编辑#include "stdio.h"
#include "math.h"
int main()
{
printf("%2.0f\n",pow(2.0,64.0));
return 0;
}
为什么输出的是18446744073709552000?不应该是18446744073709551616么?到底哪里出错了? {:10_243:}没人搭理? {:10_243:}没人搭理? file:///C:/Users/suhuajun/Desktop/360%E5%8F%8D%E9%A6%88%E6%84%8F%E8%A7%81%E6%88%AA%E5%9B%BE16410117468079.png
编译器问题? 不会发图片,抱歉 人造人 发表于 2016-1-9 21:50
不会发图片,抱歉
编译器的问题?你用的是vs? 冥顽 发表于 2016-1-9 21:54
编译器的问题?你用的是vs?
恩 人造人 发表于 2016-1-9 21:55
恩
谢谢了,我用的VC6.0最后几位被四舍五入了。。不知道是什么情况
。 也许和精度有关吧 double精确到15-16位{:5_91:}
页:
[1]