首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在java中'Float a= 3f‘和'Float a= 3.0’有什么区别?

在java中'Float a= 3f‘和'Float a= 3.0’有什么区别?
EN

Stack Overflow用户
提问于 2013-07-26 02:22:27
回答 2查看 3.2K关注 0票数 4

如果我表演

代码语言:javascript
复制
  97346822*3f, result is 2.9204048E8,

然而,

代码语言:javascript
复制
 97346822*3.0 gives me 2.92040466E8.

请解释一下。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-26 02:24:46

数字3.0double值的literal representation (相当于3.0d),而3.0ffloat值。不同的精度解释了为什么会得到不同的结果- double使用64位存储,float使用32位存储。

票数 6
EN

Stack Overflow用户

发布于 2013-07-26 22:28:20

这些都是与this question相关的发现和我对此的回答。

虽然3.0和3f在输入浮点值时具有相同的值,但实际值用作浮点运算的工作内存。作为乘法的一部分的内部值不适合浮点值本身,并被修改,从而导致获得的结果之间的差异为14.0。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17865846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档