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 longs will take slightly longer than on
ints.
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.