mshd.net
当前位置:首页 >> C++输出DouBlE和FloAt为啥都是只有6位小数呢 >>

C++输出DouBlE和FloAt为啥都是只有6位小数呢

楼主,ANSI C++里一个浮点型若是小数部分为0,直接输出必然是不带小数点的。 现在,例如 float a=3; 你若想输出3.0,输出代码要这样写: cout

浮点, 顾名思义. 它的点可以乱动. 你想让它在哪它在哪. 如果整数大了, 小数存的就少了. 小数精确了, 整数存的就小了.

float精度是2^23,能保证6位。double精度是2^52,能保证15位。但是默认float和double都只能显示6位,再多需要#include ,然后在输出语句之前插入cout

float7位 double16位

这是默认输出到小数点后六位的。。。不是说他们的精度一样 double比float的精度高 例如:要输出小数点后8位,double你可以用这样 printf("%.8lf"); 希望能够帮助到你,有什么问题欢迎追问~

1.666667

写常数时: 19、3、5 这样写就是int; 4.0、3.14 这样写就是double; 4.0f、3.14f 这样写就是float; 运算时,低精度的会自动向高精度转换,比如有double时,int和float都会转换成double,你那个表达式中sqrt()返回一个double,所以其他int都转...

超出一定的精度后,浮点数本来就不准确了,想要更高的精度,可以换用double类型

计算机对浮点数得存储貌似不靠谱,记得两个浮点数比较是否相等都不能直接用=,而是用绝对值之差<一个很小的值,不知道是不是这个原因

网站首页 | 网站地图
All rights reserved Powered by www.mshd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com