unsigned int — Maple v0.0.11 Documentation

### Navigation

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

# `unsigned int`

An `unsigned int` (unsigned integer) is the same as an int in that it stores a 4 byte integer value. However, Instead of storing both negative and positive numbers, an `unsigned int` can only store nonnegative values, yielding a range of 0 to 4,294,967,295 (the positive value is 2^32 - 1).

The difference between an `unsigned int` and a (signed) `int` lies in the way the highest bit, sometimes referred to as the “sign” bit, is interpreted. In the case of the Maple `int` type (which is signed), if the high bit is a “1”, the number is interpreted as a negative number, using a technique known as two’s complement math. The bits in an an `unsigned int` are interpreted according to the usual rules for converting binary to decimal.

An `unsigned int` is subject to the same overflow issues as a regular `int`; the only difference is that an `unsigned int` will “underflow” at 0, and “overflow” at 4,294,967,295. Here is some example code which illustrates this:

    unsigned int x;
    x = 0;
    x--; // x now contains 4,294,967,295; rolled over "left to right"
    x++; // x now contains 0; rolled over "right to left"

The `unsigned long` type is a synonym for `unsigned int`.

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

    unsigned int ledPin = 13;

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

    unsigned int var = val;

## See Also

- int
- char
- unsigned char
- long long
- 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 »