logo
volkov / C++ / Бьерн Страуструп-Справочное руководство по С++

R.2.5.1 Целые константы

Все целые константы, состоящие из последовательности цифр, считаются

десятичными (основание счисления десять), если только они не начинаются

с 0 (цифра ноль). Последовательность цифр, начинающаяся с 0,

считается восьмеричным целым (основание счисления восемь). Цифры 8 и 9

не являются восьмеричными. Последовательность цифр, начинающаяся с

0x или 0X, считается шестнадцатеричным целым (основание счисления

шестнадцать). Шестандцатеричные цифры могут состоять из символов

от a или A до f или F с десятичными значениями их от десяти до

пятнадцати. Например, число двенадцать можно записать как 12,

014 или 0XC.

Тип целой константы определяется ее представлением, значением и

окончанием. Если она десятичная и не имеет окончания, ее тип будет

первым подходящим для ее значения из следующих типов: int, long int,

unsigned long int. Если она восьмеричная или шестнадцатеричная и

не имеет окончания, ее тип будет первым подходящим для ее значения

из следующих: int, unsigned int, long int, unsigned long int.

Если она оканчивается символом u или U, ее тип будет первым подходящим

для ее значения из следующих: unsigned int, unsigned long int. Если

она оканчивается символом l или L, ее тип будет первым подходящим

для ее значения из следующих: long int, unsigned long int. Если

она оканчивается на ul, lu, uL, Lu, Ul, lU, UL или LU, ее типом

будет unsigned long int.