float和double 的指数问题。
发表在C语言图书答疑 2013-07-18
是否精华
版块置顶:
#include<stdio.h>
main()
{
double x;
x=2222222222.222226666;
printf("x=%e\n",x);
}
x=2.222222e+009
Press any key to continue


#include<stdio.h>
main()
{
float x;
x=22222.678;
printf("x=%e\n",x);
}
x=2.222268e+004
Press any key to continue


问①,就仅看此程序,其他不要多想,“针对此程序”有效数分别是几位?分别是哪几位?
②,为什么指数形式的有效数,double的不是书中所写的“15~16位”?而且相差非常多?为什么呢?
分享到:
精彩评论 1
cui_mrkj
学分:0 LV1
TA的每日心情
?
2020-08-20 13:57:19
2013-07-18
沙发
Double 的有效数是 15~16位,float 的有效数是 6~7位。这是数据类型决定的。不取决于哪个程序。
float在内存中占4字节,double占8字节,在这些字节的空间里,能精确存储上面说的位数。
double x;定义一个double类型的变量,用%lf格式控制是小数形式,用%e格式控制是指数形式输出。
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照