float和double的区别
double和float不是在字节上有区别吗。但为什么我把double改成float,这个程序就运行的有问题了,显示的是a,b没被赋值成功。为什么? ...
double和float不是在字节上有区别吗。但为什么我把double改成float,这个程序就运行的有问题了,显示的是a , b没被赋值成功。为什么?
展开
3个回答
展开全部
1、指标范围不同
float 的索引范围是-127~128。
double和double的指数范围是-1023~1024
2、表达指数不同
float 的表达式为 1bit(符号位)+ 8bits(指数位)+ 23bits(尾数位)
double的表达式为1bit(符号位)+11bits(指数位)+52bits(尾数位)
3、有效位数不同
Float 只能提供七位有效数字。
Double 可以提供 16 位有效数字。
4、占用内存空间不同
Float 占用 4 字节(32 位)内存空间,取值范围为 3.4E-38~3.4E+38。
double 占用 8 字节(64 位)内存空间,取值范围为 1.7E-308~1.7E+308。
展开全部
%f和%lf分别是float类型和double类型用于格式化输入输出时对应的格式符号。所以改成float之后还得把lf改为f
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
double的精度更高!
更多追问追答
追问
那也不至于输不出啊,最后显示的是变量未被初始化,就很迷。我只改了一个变量类型,结果就不一样了。
追答
输出应该是%lf
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询