永发信息网

求解 C++ 的double有效数字长度问题

答案:2  悬赏:70  手机版
解决时间 2021-02-20 23:32
  • 提问者网友:雾里闻花香
  • 2021-02-20 15:55
#include
using namespace std;
void main()
{ double amount=13.6753762;

cout <}
输出是13.6754。double 双精度类型,有效数字是15~16位 为什么这里输出只保留6个数字?求解
最佳答案
  • 五星知识达人网友:洒脱疯子
  • 2021-02-20 16:58
C++规定double型的有效数字至少为10位(大多数编译器的精度比这高),cout默认输出6位,可以调用cout.precision(n);设置精度,也可以使用操作算子cout<<setprecision(n);来设置精度。
全部回答
  • 1楼网友:撞了怀
  • 2021-02-20 18:03
3.1415926作为字符串是9个字节, 但是作为double类型是用二进制表示的,8个字节一共64位二进制数,double的范围为-2^1024 ~ +2^1024,也即-1.79e+308 ~ +1.79e+308 d的问题不在于类型,而是在于3.1415926属于字面常量,字面常量是不区分类型的。只有变量才有类型的区分。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯