C++如何给一个float数组定义其小数点后的位数,急!!
就是把计算结果传递到float数组中,但因为小数点位数没定好,导致误差,要求小数点后有五位数,请高手帮忙下,很急,谢谢啊...
就是把计算结果传递到float数组中,但因为小数点位数没定好,导致误差,要求小数点后有五位数,请高手帮忙下,很急,谢谢啊
展开
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。
综上,十进制里面的小数位数与此无丝毫关联,所以没法设定小数点后位数。
能是看一下你的问题吗?一般不会有这种误差的啊。
计算机只是别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。
综上,十进制里面的小数位数与此无丝毫关联,所以没法设定小数点后位数。
能是看一下你的问题吗?一般不会有这种误差的啊。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询