在java中将float除以double与将double除以double

shifu.zheng

当我在 Java 中尝试以下代码时:

System.out.println("0.1d/0.3d is " + 0.1d/0.3d)
System.out.println("0.1f/0.3d is " + 0.1f/0.3d)

我得到以下输出:

0.1d/0.3d is 0.33333333333333337
0.1f/0.3d is 0.3333333383003871

如果 float/double 应该得到 double,那么在这种情况下 float/double 应该与 double/double 相同。

拉朱夏尔马 |

只需执行以下代码即可查看要检查的数字的二进制字符串:

System.out.println(Long.toBinaryString(Double.doubleToLongBits(0.1d)));
System.out.println(Integer.toBinaryString(Float.floatToIntBits(0.1f)));

输出:

11111110111001100110011001100110011001100110011001100110011010

111101110011001100110011001101

你会看到浮点位和双位的区别。所以对于更长的精度值,我们无法获得相同的 float/double 和 double/double 结果。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Java中将两个整数除以double

来自分类Dev

Haskell:将Integer除以Integer并获得Double

来自分类Dev

在 Scala 中将 double 数组的每个元素除以一个常量的有效方法

来自分类Dev

如何将 double 除以 int 的值四舍五入?

来自分类Dev

用double_scalars中的零除以进行导数计算

来自分类Dev

如何在Java中将float转换为double?

来自分类Dev

Java float比double更精确?

来自分类Dev

Java:将Double对象转换为float的更好方法

来自分类Dev

Java:将Double对象转换为float的更好方法

来自分类Dev

当两个值都为double时,为什么没有ArithmeticException(除以零)?

来自分类Dev

当两个值都为double时,为什么没有ArithmeticException(除以零)?

来自分类Dev

如何在Java中将queue <double []>转换为double [] []?

来自分类Dev

将int转换为float / double

来自分类Dev

MySQL将float转换为double

来自分类Dev

将 Varchar 转换为 Float/double

来自分类Dev

将double []包装为Double []

来自分类Dev

将 [[[Double]]] 投射回 [Double]

来自分类Dev

在Java中将double转换为String

来自分类Dev

比较Java中的float和double

来自分类Dev

Java中的“ double,Double,HashSet”

来自分类Dev

Java中的“ double,Double,HashSet”

来自分类Dev

如何在Julia中将字节转换为float / double

来自分类Dev

将Scala List [List [Double]]转换为Java double [] []

来自分类Dev

在C#中将double []转换为double *

来自分类Dev

将float除以int并存储为float-除以零

来自分类Dev

在c中将float除以整数时得到整数结果

来自分类Dev

在JSTL中将除以零

来自分类Dev

将数字(short,int,long,float,double,bigint)转换为字节数组:Scala / Java

来自分类Dev

将Double从Delphi / Pascal转换为Java

Related 相关文章

热门标签

归档