unsigned long

An unsigned version of the long data type. An unsigned long occupies 8 bytes of memory; it stores an integer from 0 to 2^64-1, which is approximately 1.8×10^19 (18 quintillion, or 18 billion billion).

Like an unsigned int, an unsigned long won’t store negative numbers; it is also subject to the same overflow issues as any integral data type.

Here is an example of declaring an unsigned long variable named c, then giving it value 299,792,458,000,000,000 (see integer constants for an explanation of the “L” at the end of the number):

// Speed of light in nanometers per second (approximate).
unsigned long c = 299792458000000000L;

The general syntax for declaring an unsigned long variable named var, then giving it value val, looks like:

unsigned long var = val;

See Also

License and Attribution

This documentation page was adapted from the Arduino Reference Documentation, which is released under a Creative Commons Attribution-ShareAlike 3.0 License.