我写了这段代码:
float b = 3.6;
我得到这个:
错误:未解决的编译问题:
类型不匹配:无法从double转换为float
为什么?的定义是float
什么?
在Java中,当您输入一个十进制数为时3.6
,它被解释为double
。double
是64位精度的IEEE
754浮点,而float
32位精度的IEEE 754浮点。由于a float
的精确度低于a double
,因此无法隐式执行转换。
如果要创建浮点数,则应以f
(。:) 结尾3.6f
。
有关更多说明,请参见Java教程的原始数据类型定义。
问题内容: 只是想知道在这里,让变量在程序中存储无限值有什么意义?是否有实际用途,并且在任何情况下都更可取,还是只是为了插入而插入了一个小片段? 问题答案: 它用作比较的无上限上限值。这对于查找某物的最低值很有用。例如,计算遍历树木时的路径路线成本。 例如,在选项列表中找到“最便宜”的路径: 如果您没有空余时间,您将使用什么价值?就足够-消除了这个猜测。
问题内容: 我注意到Java浮点精度的一些问题 我不仅有问题,而且也有问题。 有人可以解释幕后发生的事情吗,我们如何获得准确的数字?处理这些问题时正确的方法是什么? 问题答案: 问题是精度有限。它不能完全代表。(当然,也是如此:它具有更高的精度,但仍然是有限的。) 使上述问题更加明显的另一个问题是a 而不是a ,因此您将被提升为执行减法的操作,当然,此时系统无法恢复a所丢失的精度。 本来 可以代表
我查看了源代码中的一些内容,并注意到虽然(或其长的对应部分)是这样实现的: 这对我来说是完全有意义的,这和我想做的是一样的。但是,double/float的实现是这样的: 我完全傻眼了。是否将与其自身进行比较?第二张支票是为了什么?为什么它的实现方式不像int/long版本一样?
本文向大家介绍float 和 double 的区别是什么?相关面试题,主要包含被问及float 和 double 的区别是什么?时的应答技巧和注意事项,需要的朋友参考一下 float 最多可以存储 8 位的十进制数,并在内存中占 4 字节。 double 最可可以存储 16 位的十进制数,并在内存中占 8 字节。
问题内容: Java中float和double的范围包括什么? 为什么不建议在精度要求很高的地方使用float或double? 问题答案: Java的类的成员包含类型的Min和Max值。 检出的和静态最终成员。 (有些)人们会建议不要在精度和精度至关重要的事情上使用浮点类型,因为舍入误差可能会使可测量(少量)的量不起作用。
问题内容: 在Go中,有可能等同于或取决于系统架构的类型。我可以声明一个整数变量而不必担心它的大小: 为什么没有type ,它等于或取决于我的系统的体系结构?我希望我也可以: 问题答案: float已在版本2011/01/20中删除。 您仍然可以使用简短的变量声明: 但正如GO常见问题解答所述: 出于可移植性的原因,我们决定以代码中的一些显式转换为代价,使事情变得清晰明了。 您可以在以下主题中查看