Целые константы в программе на языке Си могут быть представлены в десятичной, восьмеричной или шестнадцатеричной системах счисления (СС).
Десятичная константа — целая константа, представленая в десятичной СС.
Восьмеричная константа — целая константа, представленая в восьмеричной СС.
Восьмеричная константа должна начинаться с символа 0 (нуль) и использовать восьмеричные цифры (0, 1, 2, 3, 4, 5, 6, 7).
Шестнадцатеричная константа– целая константа, представленая в шестнадцатеричной СС.
Шестнадцатеричная константа должна начинаться с символов 0x или 0X и использовать шестнадцатеричные цифры (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F).
Обычно целые константы имеют тип int.
Длинные целые константы, соответствующие типу long, отмечаются символами L или l на конце.
Пример 1
Константа 52l (52L) занимает в памяти столько места, сколько отводится для длинного целого типа long. Букву L лучше набирать на верхнем регистре, чтобы не перепутать с цифрой 1.
Для обозначения беззнаковых целых констант используется обозначение U или u.
Пример 2
Использование беззнаковых значений особенно полезно при вычислении машинных адресов, такие вычисления должны выполняться с использованием беззнаковой арифметики.
В табл. 1 приведены примеры целых констант.
Таблица 1
Десятичные константы | 55 | 100 | 255 |
Восьмеричные константы | 067 | 0144 | 0377 |
Шестнадцатеричные константы | 0х37 | 0х67 | 0Xff |
Длинные целые константы | 55l | 100L | 31l |
Беззнаковые целые константы | 55u | 100u | 31U |
Примечание 1
Не зависимо от того, в каком виде целые константы используются в тексте программы, в компьютере они хранятся в двоичной СС в прямом или дополнительном коде.