C++如何给一个float数组定义其小数点后的位数,急!!

就是把计算结果传递到float数组中,但因为小数点位数没定好,导致误差,要求小数点后有五位数,请高手帮忙下,很急,谢谢啊... 就是把计算结果传递到float数组中,但因为小数点位数没定好,导致误差,要求小数点后有五位数,请高手帮忙下,很急,谢谢啊 展开
 我来答
踏辉C
推荐于2016-08-10 · TA获得超过6254个赞
知道小有建树答主
回答量:103
采纳率:0%
帮助的人:79.2万
展开全部
float在程序中貌似不可以改小数点后位数,只可以在输出时只输出5位小数。
计算机只是别01码,也就是说int型数字和float数字都是01码组成,int型比较容易理解,如 101 = 1*2^2 + 0*2^1 + 1*2^0 = 5;
对于float数字 先将数字转换成 纯小数*10^n 形式,如2.5 = 0.25*10^1
0.023 = 0.23 *10^-1,然后保存小数和指数n。小数部分保存也是二进制
101 = 1*2^-1 + 1*2^-3 = 0.5+0.125 = 0.625。
综上,十进制里面的小数位数与此无丝毫关联,所以没法设定小数点后位数。
能是看一下你的问题吗?一般不会有这种误差的啊。
xiajiaxin
2010-05-22 · TA获得超过773个赞
知道小有建树答主
回答量:404
采纳率:0%
帮助的人:269万
展开全部
float只能有六位有效数字,如果这个限制了的话可能需要你改用double了。也就是说,比如你想要的是55.12345,这个在float里面只能是55.1234;

你说的功能如果是输出printf的话就"%.5f",但是,你需要增加运算精度的话可能实现不了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式