为了账号安全,请及时绑定邮箱和手机立即绑定

关于单双精度浮点型的疑问

关于单双精度浮点型的疑问

C
时间你别催 2016-01-23 22:44:04
#include<stdio.h>int main(){ float a; a=3.141592612; printf("a=%f\n",a); return 0;}//以上,为何我将float改成double,输出结果依然是3.141593,double的储存字节不是要大一些吗?
查看完整描述

2 回答

?
onemoo

TA贡献883条经验 获得超454个赞

printf中 %f 默认输出小数点后6位,这和变量a本身的精度无关。

查看完整回答
反对 回复 2016-01-25
?
hhh112123123

TA贡献158条经验 获得超98个赞

C里面,默认%f是小数点后6位,如果想小数点后面16位,需要写成%.16lf。 double是一个近似值,通常精确到小数点后面5.6为,超过了就不准了

查看完整回答
反对 回复 2016-01-25
  • 2 回答
  • 0 关注
  • 1531 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信