It says here and here that type long long
is at least as long as an int
and has no fewer than 64 bits. I have been looking at the
The C++ standard references the C standard for this, see [c.limits]. LLONG_MAX
is defined in <climits>
with the same meaning as C's <limits.h>
's LLONG_MAX
. And this is what C has to say:
5.2.4.2.1 Sizes of integer types
<limits.h>
The values given below shall be replaced by constant expressions suitable for use in
#if
preprocessing directives. [...] Their implementation-defined values shall be equal or greater in magnitude (absolute value) to those shown, with the same sign.[...]
-- maximum value for an object of type
long long int
LLONG_MAX +9223372036854775807 //
263 -1
A signed type that must be capable of representing the value 9223372036854775807
requires 64 bits or more.