为什么double和float输出一样,精度
展开全部
double与float的区别在于在内存中存放数据时占用的内存不一样,前者8字节,后者4字节,也就是前者保存的小数位数比后者多一倍。举例说明对于1.9999996666,按照float输出,结果可能为1.999999,如果按照double可能为1.999999,这是为什么,因为C语言默认输出小数位数都取6位,这时候看起来没有区别,但是如果你进行格式控制,比如使用%.10,即小数保留10位,float输出结果为1.9999990000,而double输出结果则为1.9999996666。
不知道你懂了没有?
不知道你懂了没有?
展开全部
通过输出格式不能准确判断精度。用sizeof运算浮求出所占空间你就能看到,float类型占据4个字节,而double占据8个。输出小数位数是由格式控制符控制的。
main()
{
printf("%d %d", sizeof(float), sizeof(double));
}
输出4 8
main()
{
printf("%d %d", sizeof(float), sizeof(double));
}
输出4 8
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
精度不仅仅只是通过输出来观察的吧
像c语言,你通过输出的格式字符串来控制输出的位数。
如果你想测试,请找那种比如乘积会超出float类型,但在double类型
范围之类的示例来观察,你就可以知道了!
像c语言,你通过输出的格式字符串来控制输出的位数。
如果你想测试,请找那种比如乘积会超出float类型,但在double类型
范围之类的示例来观察,你就可以知道了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Vue实践-CSS样式position/display/float属性对比使用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询