float型数值精确到7位是什么意思?是说的小数点后面精确到7位,也就是123.1234567的那

float型数值精确到7位是什么意思?是说的小数点后面精确到7位,也就是123.1234567的那个7都可以精确出来还是说的精确到4那个地方?

float型数值精确到7位大致就是说相对精度达到10^{-7}
你的例子里可以认为123.1234***,后面的几位都很不精确

通常(但不是一定),float型采用ieee754标准下的32位二进制浮点数,其中8位二进制位是指数位,23位二进制位存贮有效数字部分,还有1位是符号位(正数或负数)
所以这个表示下的相对精度就是2^{-23}≈10^{-6.9},也就是你看到的7位十进制精度的意思追问

那0.00123456789这样的是精确到4还是7?

追答

0.001234567**

追问

??

怎么会?

追答

7位“有效数字”

追问

确定?

追答

当然确定
我之前那些话都白写了吗

追问

大神,,我觉得你讲的确实不错,,请问您是做什么的?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-10-01
是精确到小数点后7位数,就是123.1234567
第2个回答  2016-10-01
是精确到4那个地方的意思。追问

理由

那0.00123456789这样的是精确到4还是7?

追答

0.00123456789可以精确到7,因为“精确”是对有效数字而言的。float型的二进制结构是32位,其中23位用来表示尾数,还有一位固定1,所以能确定精度的共24位,2^24是个8位十进制数,由于浮点数的二进制表示有误差,所以只有7位是可靠精确的。至于有效数字1前面的0.00……它则是用阶码表示的,都是整数,所以是精确的。如果这个数是9.00123456789,则只精确到4,因为“有效数字”从第1位就开始了……供参考。

第3个回答  2016-10-01
精确到4那里…追问

为什么

追答

123.1234 在内存里是1.231234E2

追问

也就是说精确到多少位不是说的有效数字,也不是小数点后的,而且从左往右输出来是多少就是多少?

追答

float存储方式就是一位整数,6位小数,以及乘以10的多少次方

所以就是你说的从左往右算6或7位

追问

终于遇到个靠谱的了。。不过可惜了

大神你做什么的啊

那0.00123456789这样的是精确到4还是7?

追答

0.000123456789
也会存储为 1.234567E-4

也就是1.234567x10^(-4)

追问

那这是精确到4还是7啊

追答

这不是一共就7位小数吗