The table you are reading from the tutorial is not clear. It should be represented as two tables:
Integer constants can be in one of three bases:
85 // decimal
0213 // octal
0x4b // hexadecimal
They can have a suffix to indicate a minimum type rank and signedness:
30 // int
30u // unsigned int
30l // long
30ul // unsigned long
You can write a hexadecimal long constant as 0x1234l
.
This would also be a good place in the tutorial to say that the suffixes l
or ll
, when used, only indicate a minimal type rank and that the integer constant will be attributed a wider type if it does not fit in the indicated type.