float和double的区别

double和float不是在字节上有区别吗。但为什么我把double改成float,这个程序就运行的有问题了,显示的是a,b没被赋值成功。为什么? ... double和float不是在字节上有区别吗。但为什么我把double改成float,这个程序就运行的有问题了,显示的是a , b没被赋值成功。为什么?  展开
 我来答
APEUT
高粉答主

2021-10-16 · 说的都是干货,快来关注
知道小有建树答主
回答量:1051
采纳率:100%
帮助的人:22.7万
展开全部

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。

cjjohn3
2019-04-05 · TA获得超过6644个赞
知道大有可为答主
回答量:3622
采纳率:69%
帮助的人:989万
展开全部
%f和%lf分别是float类型和double类型用于格式化输入输出时对应的格式符号。所以改成float之后还得把lf改为f
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者Bmrkt22uqZ
2019-04-05
知道答主
回答量:51
采纳率:0%
帮助的人:3.6万
展开全部
double的精度更高!
更多追问追答
追问
那也不至于输不出啊,最后显示的是变量未被初始化,就很迷。我只改了一个变量类型,结果就不一样了。
追答
输出应该是%lf
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式