01_C++学习笔记_入门

1.float类型只能表示数字里面的前6位或者前7位。也就是说c++只能保证float类型的数字的前6位是正确的。如果要求的精度更高的话,请使用double和long double。

float精度是2^23,能保证6位小数内精确。double精度是2^52,能保证15位小数内精确。

但是,在通常使用中double默认打印位数没有那么多。可以使用强制输出精度的命令语句比较double和float的精度(比较方式:先输入#include <iomanip>,然后在输出语句之前插入cout << setprecision(20);。超过精度范围的小数无效,但是仍然会在屏幕上显示。

float num1 = 77777.789f;
float num2 = 77777.788f;
cout << num1 - num2 << endl;//-->0

 double num3_1 = 10000;
 double num3_2 = 3;
 double num3 = num3_1 / num3_2;
 cout << setprecision(17);
 cout << "结果是:" << num3 << endl;//-->结果是:3333.3333333333335

2.

原文地址:https://www.cnblogs.com/kanekiken/p/7401437.html