Под литерами понимаются константы, которые могут содержать данные следующих типов.
Константы целые числа являются постоянными элементами данных, которые не имеют дробной части или показателя. Они всегда начинаются с цифры. Можно определять константы в
Они могут быть со знаком или без и иметь разный тип. Итак.
Десятичная константа начинается с любой ненулевой цифры, то есть 1 2 3 4 5 6 7 8 9 и состоит из любых других цифр 0 1 2 3 4 5 6 7 8 9
Восмеричная константа начинается с 0 и может состоять из любых цифр 0 1 2 3 4 5 6 7.
Шестнадцатеричная константа начинается с 0x и может состоять из следующих цифр и букв 0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F.
Для обозначения типа констант применяются суффиксы:
u U - беззнаковое l L - длинное i64 - целое 64 бита
Давайте посмотрим пример:
int x=234; int x1=0234; int x2=099;
Первое определение это десятичная цифра. Второе восмеричная цифра, а вот третье определение ошибочно и компилятор даст сообщение типа:
D:\Project\2\2.cpp(14) : error C2041: illegal digit '9' for base '8' D:\Project\2\2.cpp(14) : error C2041: illegal digit '9' for base '8'
При определении шестнадцатеричных констант регистр символов не имеет значения. Эти константы совершенно одинаковые.
int x1=0xFFF; int x2=0Xfff;
Модификаторы позволяют определять числа со знаком или без, а так же размер числа. Модификатор добавляется в конец. Можно использовать сразу несколько модификаторов.
unsigned x = 328u; // без знака unsigned x1 = 328ul; // длинное целове без знака