long long
¶
The long long
data type stores extended size integer values. You
can use a long long
when your values are too large to fit into an
int. A long long
occupies 8 bytes of memory.
This yields a range of approximately -9.2×10^18 to 9.2×10^18 (that’s
9.2 billion billion, or about 92 million times the number of stars in
the Milky Way galaxy). The exact range of a long long
on the
Maple is from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807,
or -2^63 to (2^63-1). A long long
it is subject to the same
overflow issues as any numeric data
type.
A synonym for the long long
type is int64
.
Here’s an example of declaring a long long (see integer constants for an explanation of the “LL” at the end of the number):
// Speed of light in nanometers per second (approximate).
long long c = 299792458000000000LL;
The general syntax for declaring an long long
variable named var
,
then giving it value val
, looks like:
long long var = val;
This is identical to the int
syntax, with long long
(or, at
your option, int64
) replacing int
.
Note that long long
values will still overflow, just like int
values, but their much larger
range makes this less likely to happen.
The downside to using a long long
instead of an int
(besides
the extra storage) is that arithmetic
operations on long long
s will take slightly longer than on
int
s.
See Also¶
License and Attribution
Portions of this page were adapted from the Arduino Reference Documentation, which is released under a Creative Commons Attribution-ShareAlike 3.0 License.