JAVA中的float单精度,double双精度是什么意思呀?不懂~~,还有什么怎么用这两个?最好举下例子,谢谢

 我来答
_神__仙_
2011-12-14 · TA获得超过1257个赞
知道小有建树答主
回答量:806
采纳率:0%
帮助的人:532万
展开全部
最简单例子:
float A = 1;
float B = 2;
double C = A * B;
这时如果用float C = A * B 就会报无法将double隐式转换成double类型
说明double的精度要高于float
所谓单精度双精度是根据类型对象所占用内存空间的字节数决定的,双精度所占内存空间为16位,而float只有8位
追问
谢谢
可是我还不懂.........那个你说的“double隐式转换成double类型”是什么意思?
“类型对象所占用内存空间的字节数”也不懂,嗯,麻烦你了,不好意思啊
追答
不好意思,写错了,应该是无法将double隐式转换成float类型
占用内存空间是这样:float 类型的对象,声明后开辟内存空间地址为8位,而double类型的对象声明后开辟的内存空间为16位,内存空间相当于该对象地址,如0000-0008存float类型,而0009-0018为double类型,注:0018是16进制数24,而不是10进制的18
编译器根据每个对象类型来决定向内存申请多大的内存空间,而double所占的空间比float大一倍,所以精度也高于float一倍
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式