gpt4 book ai didi

java - 如何在 Java 中获取 Double 的最大最安全整数

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:24:08 25 4
gpt4 key购买 nike

考虑到 Java 的 doublesdouble-precision floating-point数字。并且不丢失精度的最大整数是 9007199254740991253-1

是否有任何干净的方法来获取此值?例如,像 JavaScript 中的常量 MAX_SAFE_INTEGER

最佳答案

有一个名为 sun.misc.DoubleConsts 的内部 JDK 类它有一些常量,您可以使用这些常量来生成您正在寻找的值,使用 "accpetable" magic numbers 12,但它没有自己定义的数字。

public static long MAX_SAFE_VALUE = 
sun.misc.DoubleConsts.SIGNIF_BIT_MASK * 2 + 1;

// alternatively
public static long MAX_SAFE_VALUE =
Math.pow(2, sun.misc.DoubleConsts.SIGNIFICAND_WIDTH) - 1;

然而,relying on a class in the sun.misc package不是一个非常“干净”的方法,所以我只是创建我自己的常量。

关于java - 如何在 Java 中获取 Double 的最大最安全整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38602078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com