A long bigger than Long.MAX_VALUE
That method can't return true
. That's the point of Long.MAX_VALUE
. It would be really confusing if its name were... false. Then it should be just called Long.SOME_FAIRLY_LARGE_VALUE
and have literally zero reasonable uses. Just use Android's isUserAGoat
, or you may roll your own function that always returns false
.
Note that a long
in memory takes a fixed number of bytes. 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.
As you may know from basic computer science or discrete math, there are 2^64 possible values for a long, since it is 64 bits. And as you know from discrete math or number theory or common sense, if there's only finitely many possibilities, one of them has to be the largest. That would be Long.MAX_VALUE
. So you are asking something similar to "is there an integer that's >0 and < 1?" Mathematically nonsensical.
If you actually need this for something for real then use BigInteger
class.
Maximum value for long integer
Long integers:
There is no explicitly defined limit. The amount of available address space forms a practical limit.
(Taken from this site). See the docs on Numeric Types where you'll see that Long integers have unlimited precision
. In Python 2, Integers will automatically switch to longs when they grow beyond their limit:
>>> import sys
>>> type(sys.maxsize)
<type 'int'>
>>> type(sys.maxsize+1)
<type 'long'>
for integers we have
maxint and maxsize:
The maximum value of an int can be found in Python 2.x with sys.maxint
. It was removed in Python 3, but sys.maxsize
can often be used instead. From the changelog:
The sys.maxint constant was removed, since there is no longer a limit
to the value of integers. However, sys.maxsize can be used as an
integer larger than any practical list or string index. It conforms to
the implementation’s “natural” integer size and is typically the same
as sys.maxint in previous releases on the same platform (assuming the
same build options).
and, for anyone interested in the difference (Python 2.x):
sys.maxint The largest positive integer supported by Python’s regular
integer type. This is at least 2**31-1. The largest negative integer
is -maxint-1 — the asymmetry results from the use of 2’s complement
binary arithmetic.sys.maxsize The largest positive integer supported by the platform’s
Py_ssize_t type, and thus the maximum size lists, strings, dicts, and
many other containers can have.
and for completeness, here's the Python 3 version:
sys.maxsize
An integer giving the maximum value a variable of type Py_ssize_t can take. It’s usually 2^31 - 1 on a 32-bit platform and
2^63 - 1 on a 64-bit platform.
floats:
There's float("inf")
and float("-inf")
. These can be compared to other numeric types:
>>> import sys
>>> float("inf") > sys.maxsize
True
What is the maximum value for an int32?
It's 2,147,483,647. Easiest way to memorize it is via a tattoo.
Largest integer that can be stored in long double
Inasmuch as you express in comments that you want to use long double
as a substitute for long long
to obtain increased range, I assume that you also require unit precision. Thus, you are asking for the largest number representable by the available number of mantissa digits (LDBL_MANT_DIG
) in the radix of the floating-point representation (FLT_RADIX
). In the very likely event that FLT_RADIX == 2
, you can compute that value like so:
#include <float.h>
#include <math.h>
long double get_max_integer_equivalent() {
long double max_bit = ldexpl(1, LDBL_MANT_DIG - 1);
return max_bit + (max_bit - 1);
}
The ldexp
family of functions scale floating-point values by powers of 2, analogous to what the bit-shift operators (<<
and >>
) do for integers, so the above is similar to
// not reliable for the purpose!
unsigned long long max_bit = 1ULL << (DBL_MANT_DIG - 1);
return max_bit + (max_bit - 1);
Inasmuch as you suppose that your long double
provides more mantissa digits than your long long
has value bits, however, you must assume that bit shifting would overflow.
There are, of course, much larger values that your long double
can express, all of them integers. But they do not have unit precision, and thus the behavior of your long double
will diverge from the expected behavior of integers when its values are larger. For example, if long double
variable d
contains a larger value then at least one of d + 1 == d
and d - 1 == d
will likely evaluate to true.
What's the limit of long long int ?
unsigned long long int is biggest integer type in standard C++
( it can hold numbers from 0 to 18 446 744 073 709 551 615 ),
if you want bigger ones you may need to search for some bignum libraries like this:
http://www.ttmath.org/
Is there a constant for max value for integer type?
VBA does not provide a MAXINT
constant. But you can derive that value easily:
MAXINT = (2 ^ 15) -1
Debug.Print MAXINT
32767
Or you could define it as a Public
constant with this in the Declarations section of a standard module:
Public Const MAXINT As Integer = (2 ^ 15) - 1
Then MAXINT
would be available for the rest of your VBA code in that application.
And for Long Integer
, the maximum value is ...
MAXLONG = (2 ^ 31) -1
Debug.Print MAXLONG
2147483647
Related Topics
Datetime Dtypes in Pandas Read_Csv
Break // in X Axis of Matplotlib
Purpose of "%Matplotlib Inline"
How to Access the Child Classes of an Object in Django Without Knowing the Name of the Child Class
Remove Punctuation from Unicode Formatted Strings
Iterating Each Character in a String Using Python
How to Decode Base64 Data in Python
Assigning to Variable from Parent Function: "Local Variable Referenced Before Assignment"
How to Implement a Python for Range Loop Without an Iterator Variable
Remove and Replace Printed Items
Decode Escaped Characters in Url
How to Create Multiline Comments in Python
How to Verify If One List Is a Subset of Another
How to Remove Nan Value While Combining Two Column in Panda Data Frame
Creating a New Column Based on If-Elif-Else Condition
How to Forward-Declare a Function to Avoid 'Nameerror's for Functions Defined Later
What's the Deal with Python 3.4, Unicode, Different Languages and Windows