On the 86Duino, unsigned ints (unsigned integers) are the same as ints in that they store a 4 byte (32-bit) value. Instead of storing negative numbers however they only store positive values, yielding a useful range of 0 to 4,294,967,295 (2^32 – 1).
The difference between unsigned ints and (signed) ints, lies in the way the highest bit, sometimes refered to as the “sign” bit, is interpreted. In the 86Duino int type (which is signed), if the high bit is a “1”, the number is interpreted as a negative number, and the other 31 bits are interpreted with 2’s complement math.
unsigned int ledPin = 13;
unsigned int var = val;
var – your unsigned int variable name
val – the value you assign to that variable
When variables are made to exceed their maximum capacity they “roll over” back to their minimum capacitiy, note that this happens in both directions
unsigned int x x = 0; x = x - 1; // x now contains 4,294,967,295 - rolls over in neg direction x = x + 1; // x now contains 0 - rolls over
The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.