c++浮点数c输出浮点数 eps?

 

你自己敲这个程序试一下

下载百度知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

在c/c++中因为浮点数在内存中的表礻是不精确的,会有很微小的误差所以判断是否为0,就看它的绝对值是不是<=eps

eps可以看成是epsilon的缩写,可以用来表示一个无穷小的量通常取eps的值为:1e-10~1e-8 之间。如:

IEEE754标准中单精度浮点数(4byte)表示法:1bit符号位(S),8bit指数位(E,用阶码表示)23bit小数部分(尾数M)。双精度浮点数(8byte)表示法:1bit符号位11bit指數位(用阶码表示),52bit小数部分(尾数)所以一个规格化的单精度浮点数x的真值为x=((-1)^S)*(1.M)*(2^(E-127));显然,x永远也不可能为绝对0故在需要比较的时候,只能把它囷一个很小的值比较如果小于等于eps,则认为是0

一个很简单的C++浮点数c输出浮点数問题 [问题点数:20分结帖人Programe_Lover]

确认一键查看最优答案?

本功能为VIP专享开通VIP获取答案速率将提升10倍哦!

我想问的是,b=43. 而不是原数字43.3 这是为什麼?小数点后面的3怎么了?

++LZ用了setprecision()就应该先查一下他的用法,又不费劲

我想问的是这里的setprecision到底是怎样工作的对整数,对浮点数

匿名用户不能发表回复!

我要回帖

更多关于 c输出浮点数 的文章

 

随机推荐