Language | Libraries | Comparison
Unsigned ints (unsigned integers) are the same as ints in that they store a 2 byte value. Instead of storing negative numbers however they only store positive values, yielding a useful range of 0 to 65,535 (2^16) - 1).
The difference lies in the way the highest bit, sometimes refered to as the "sign" bit is interpreted. In the Arduino int type, if the high bit is a "1", the number is interpreted as a negative number and the other 15 bits are interpreted with 2's complement math.
int ledPin = 13;
int var = val;
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 65535 - rolls over in neg direction x = x + 1; // x now contains 0 - rolls over
Corrections, suggestions, and new documentation should be posted to the Forum.