Language | Libraries | Comparison
Integer constants are the numbers you type directly into your sketch, like 123. Normally, these numbers are treated as base 10 (decimal) integers, but you can use special notation (formatters) to enter numbers in other bases.
Base Example Comment 10 (decimal) 123 2 (binary) B1111011 (only works with 1 to 8 bit values) 8 (octal) 0173 16 (hexadecimal) 0x7B
Decimal is base 10, this is the common-sense math with which you are aquainted.
Example: 101 == 101 decimal ((1 * 2^2) + (0 * 2^1) + 1)
Binary is base two. Only characters 0 and 1 are valid.
Example: B101 == 5 decimal ((1 * 2^2) + (0 * 2^1) + 1)
The binary formatter only works on bytes (8 bits) between 0 (B0) and 255 (B11111111). If it's convenient to input an int (16 bits) in binary form you can do it a two-step procedure such as this:
myInt = (B11001100 * 256) + B10101010; // B11001100 is the high byte
Octal is base eight. Only characters 0 through 7 are valid.
Example: 0101 == 65 decimal ((1 * 8^2) + (0 * 8^1) + 1)
One can generate a hard-to-find bug by unintentionally including a leading zero before a constant and having the compiler interpreting your constant (unwantedly) as octal
Hexadecimal (or hex) is base sixteen. Valid characters are 0 through 9 and letters A through F; A has the value 10, B is 11, up to F, which is 15.
Example: 0x101 == 257 decimal ((1 * 16^2) + (0 * 16^1) + 1)
Corrections, suggestions, and new documentation should be posted to the Forum.