c语言,表2-7数值范围那,小括号里精确到6到7位什么意思,±3.4E±38不是很多位吗?,不懂!
2个回答
展开全部
这样能看明白不?者历
2 精度
float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它饥嫌启是不变的,故不烂如能对精度造成影响。
float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;
double:2^52 = 4503599627370496,一共16位,同理,double的精度为15~16位。
2 精度
float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,由于它饥嫌启是不变的,故不烂如能对精度造成影响。
float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字;
double:2^52 = 4503599627370496,一共16位,同理,double的精度为15~16位。
追问
你说的我貌似有点明白,但是为什么float的数值范围是±3.4E±38呢,是不是他本来很大,但只能精确到六到七位小数的意思呢?
隐藏的“1”又如何理解呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询