Language | Libraries | Comparison

Integer Constants

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)

See also

Reference Home

Corrections, suggestions, and new documentation should be posted to the Forum.