long long — Maple v0.0.10beta Documentation

### Navigation

- next
- previous |
- LeafLabs |
- Index »
- Complete Language Index »

# `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

- char
- unsigned char
- int
- unsigned int
- unsigned long long
- Integer Constants
- Variables

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.

### Navigation

- next
- previous |
- LeafLabs |
- Index »
- Complete Language Index »