c语言关于float的问题

c语言关于float的问题我用vc6.0输入123.456他输出的是123.456001这是为啥?... c语言关于float的问题我用vc6.0输入123.456 他输出的是123.456001这是为啥? 展开
 我来答
百度网友2ebe1e4f3
2017-07-22 · TA获得超过1.3万个赞
知道大有可为答主
回答量:9245
采纳率:52%
帮助的人:3292万
展开全部
我来告诉你吧,这是计算机的先天缺陷,因为很多十进制小数转成二进制是无法精确表示的,你去百度一下十进制小数转二进制小数的方法就知道了,输出时就是把内存中的已经只是近似值的二进制还原成十进制数,所以就不是原来的值了
白羊asdfghjkly
2017-07-21 · TA获得超过173个赞
知道小有建树答主
回答量:247
采纳率:0%
帮助的人:82.5万
展开全部
float默认6位小数,她会自己补上的
更多追问追答
追问
补的话  补得不是0吗?他补得是001
追答
因为小数在计算机是以指数形式储存的,说起来很多,但是作为初学者,记住浮点数后面保留6位,少补0,多的4舍5入
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2017-07-21 · 超过23用户采纳过TA的回答
知道答主
回答量:61
采纳率:100%
帮助的人:15.6万
展开全部
你没有声明精度,所以会输出这个结果.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式