如何获得大于long.max_值的长数值?
我希望此方法返回true:
boolean isBiggerThanMaxLong(long val) {
return (val > Long.MAX_VALUE);
}
该方法不能返回true。这就是EDOCX1的观点。如果它的名字是…错误的。那么,它应该被称为Long.SOME_FAIRLY_LARGE_VALUE,并没有任何合理的用途。只需使用Android的isUserAGoat,或者你可以滚动你自己的函数,它总是返回false。
注意,内存中的long采用固定的字节数。来自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类。
有人应该通过发明远程传输来打破isuseragoat API以太,或