22问答网
所有问题
请问各位大神为什么结果是3.0而不是3.0000000,float不是保留八位有效数字吗?
如题,我刚学习java,求各位指点!谢谢!
举报该问题
推荐答案 2014-10-11
float的精度为八位,意思就是float可以存储八位有效数字,那么针对这道题目,我们知道sum是int型的,而x.length也是int型的,我们知道,在java中,int型相除会抹掉小数,结果原为3,但是又因为你将一个int型的3赋值给float型的,那么计算机在内存中存储时会存储有效数字,当你的后面小数都为0,那么float就会只取一位,这是为了减小内存而定的,如果你需要解决办法,那么就是强制将sum转换成float型的,这样求出来的就是一个8位的小数
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://22.wendadaohang.com/zd/CC6I2f60CSS266C600T.html
其他回答
第1个回答 2014-10-08
float是八位,并不是八位有效数字
第2个回答 2014-10-08
你去看看基本类型的存储方式,8个基本类型中用位数来存储的.
相似回答
大家正在搜
请问各位大神303是个什么数
请问各位大神什么地方没有信号
请问各位大神们
请教各位大神
想请问一下各路大神
蛋蛋预测结果大神
28大神预测结果预测
请问大神
各位大神
相关问题
float 浮点型变量 不是保留八位有效数字吗 为什么这个有...
c语言 float类型保留几位啊 怎么确定
54题,float不是只能有六位有效数字吗,选项怎么是七位有...
JAVA 中的Float类型不是7位有效数字吗?
为什么a为float,保留7位有效数字,最后两位小数不起作用...
int 99 转换成float型,是不是99.000000...
C语言中,float类型的有效位数不是7位,double的有...