Цілі константи завжди позначають позитивні величини. Якщо потрібні негативні величини, то необхідно сформувати константний вираз із знаку мінус і наступної за ним константи. Знак мінус розглядається як арифметична операція.
Кожна ціла константа специфікується типом, що визначає її представлення в пам'яті і область значень. Цілі константи можуть бути типу int або long.
Вісімкові і шістнадцяткові константи залежно від розміру можуть бути типу int, unsigned int, long або unsigned long.В Таблиці показані диапазони величин вісімкових і шістнадцяткових констант, де тип int має довжину 16 біт.
Діапазони величин вісімкових і шістнадцяткових констант
Шістнадцяткові діапазони
Вісімкові діапазони
Тип
0x0-0x7FFF
0-077777
int
0x8000-0xFFFF
0100000-0177777
unsigned int
0x10000-0x7FFFFFFF
0200000-017777777777
long
0x80000000-0xFFFFFFFF
020000000000-030000000000
unsigned long
Важливість розглянутих вище правил полягає в тому, що восьмеричные і шестнадцатеричные константи не містять "знакових розширень", коли вони перетворяться до більш довгих типів. Програміст може визначити для будь-якої цілої константи тип long, приписавши букву "l" або "L" в кінець константи. В таблиці показані приклади цілих констант.
Приклади цілих констант типу long
Десяткові константи
Вісімкові константи
Шістнадцяткові константи
10L
012L
0хаL або 0хАL
79l
0115l
0x4fl або 0x4Fl
Отже, 1) ціла константа, що складається з послідовності цифр, сприймається як вісімкова, якщо вона починається з 0 (цифри нуль) і як десяткова в противному випадку. Вісімкова константа не містить цифр 8 і 9;
2) послідовність цифр, перед якою стоять 0x або 0X, розглядається як шістнадцяткове ціле. В шістнадцяткові цифри були включені букви від а (або А) до f (або F) зі значеннями від 10 до 15;
3) ціла константа може бути записана з буквою-суфіксом u (або U) для специфікації її як без знаковості;
4) ціла константа може бути з буквой- суфіксом l (або L) для вказівки, що вона має тип long;
5)тип цілої константи залежить від її вигляду, значення і суфікса.