The int data type represents integers. Integers are your primary data type for number storage, and store a 4 byte value. This yields a range of -2,147,483,648 to 2,147,483,647 (minimum value of -2^31 and a maximum value of (2^31) - 1; that’s about negative 2 billion to positive 2 billion).

An int stores a negative number with a technique called two’s complement math. The highest bit in an int, sometimes refered to as the “sign” bit, flags the number as a negative number. (See the linked article on two’s complement for more information).

The Maple takes care of dealing with negative numbers for you, so that arithmetic operations work mostly as you’d expect. There can be an unexpected complication in dealing with the bitshift right operator (>>), however.

The long type is a synonym for int.

Here is an example of declaring an int variable named pin, then giving it value 13:

int pin = 13;

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

int var = val;

Integer Overflow

When int variables leave the range specified above, they roll over in the other direction. Here are some examples:

int x;
x = -2,147,483,648;
x--; // x now contains 2,147,483,647; rolled over "left to right"

x = 2,147,483,647;
x++; // x now contains -2,147,483,648; rolled over "right to left"

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.