编程语言
首页 > 编程语言> > java – 比Long.MAX_VALUE大的长度

java – 比Long.MAX_VALUE大的长度

作者:互联网

如何获得比Long.MAX_VALUE更大的长数字?

我希望这个方法返回true:

boolean isBiggerThanMaxLong(long val) {
    return (val > Long.MAX_VALUE);
}

解决方法:

该方法无法返回true.这就是Long.MAX_VALUE的要点.如果它的名字是……假的,那真是令人困惑.然后它应该只被称为Long.SOME_FAIRLY_LARGE_VALUE并且实际上没有合理的用途.只需使用Android’s isUserAGoat,或者您可以滚动自己的函数,该函数始终返回false.

请注意,内存中的长整数需要固定的字节数. From Oracle

long: The long data type is a 64-bit signed two’s complement integer. It has a minimum value of -9,223,372,036,854,775,808 and a maximum value of 9,223,372,036,854,775,807 (inclusive). Use this data type when you need a range of values wider than those provided by int.

正如您可能从基本的计算机科学或离散数学中知道的那样,长度有2 ^ 64个可能的值,因为它是64位.正如你从离散数学或数论或常识中所知,如果只有有限多种可能性,其中一种必须是最大的.这将是Long.MAX_VALUE.所以你问的是“有一个整数是> 0和< 1?”数学荒谬. 如果你真的需要这个用于真实的东西,那么使用BigInteger类.

标签:java,long-integer
来源: https://codeday.me/bug/20191001/1838161.html