永发信息网

canf("%f",&a); printf("%f",a); 输入25.81,为何显示25.809999?

答案:3  悬赏:20  手机版
解决时间 2021-11-14 21:23
canf("%f",&a); printf("%f",a); 输入25.81,为何显示25.809999?
最佳答案
跟数在计算机的存储有关 二进制 你想输出两位就 printf("%2.f",a);追问.2%f,输出25.81
.3%f,输出25.810
.4%f,输出25.8100
.5%f,输出25.81000
.6%f,输出25.809999
如何解释?追答2进制表示小数的时候只能够表示能够用1/(2^n)的和的任意组合

例如:
0.5能够表示,因为它可以表示成为1/2
0.75也能够表示,因为它可以表示成为1/2+1/(2^2)
0.875也能够表示,因为它可以表示成为1/2+1/(2^2)+1/(2^3)

但是0.1不能够精确表示,因为它不能够表示成为1/(2^n)的和的形式

0.81也不能用二进制精确表示
全部回答
你没有给出输出的小数位限制 printf("%.2,a)
浮点数是有精度问题的。不要纠结啦。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
尤其的尤可以怎么组词
重庆一上海火车K73为什么今天会停运
梨果实套袋有什么优缺点?
风格布艺地址在什么地方,想过去办事
13/8直联式空气压缩机多少钱
2015土地征收每家每个户口赔多少钱
谁能告诉我哪里可以买到牙线?超市吗?有好评
(1)把两个相同的正方形剪一剪,拼一拼(这
灵乡街道社区居委地址在什么地方,想过去办事
纯地下室是什么意思
齿轮泵能否使用N32机油作为润滑油
建筑维修需要什么资质
2、当贫穷的母亲把仅有的饭菜留给儿女,同时
谁知道这位日本电视台主播的详细信息?目前知
孢子里银河系的中心是什么来的?
推荐资讯
受理通知书下来以后,有人打电话想买我商标,
地面三支温度表由北向南的排列顺序为
手环和iwatch,到底买哪个更划算?
已知男的182,女的多高?
我刚买了二手房,价格为42万,评估价也差不多
以地名为话题的800字作文
宏碁e1-572g怎么进bios设置u盘启动
求mad world -adam lambert和黒い涙-ANNA ins
两个卫生间,纠结洗衣机放卫生间还是放阳台
怎么用matlab画包络线上下两条都要,急用跪谢
金蝶KIS专业版12.1在增加核算项目的时候提示
2017年农历3月28日刨腹产好不好
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?