Бьерн Страуструп. Язык программирования С++ Второе дополненное издание



Pdf көрінісі
бет58/256
Дата11.07.2022
өлшемі2,87 Mb.
#37591
1   ...   54   55   56   57   58   59   60   61   ...   256
2.4 ЛИТЕРАЛЫ 
В С++ можно задавать значения всех основных типов: символьные константы, целые константы и 
константы с плавающей точкой. Кроме того, нуль (0) можно использовать как значение указателя 
произвольного типа, а символьные строки являются константами типа char[]. Есть возможность 
определить символические константы. Символическая константа - это имя, значение которого в его 
области видимости изменять нельзя. В С++ символические константы можно задать тремя способами: 
(1) добавив служебное слово const в определении, можно связать с именем любое значение 
произвольного типа; (2) множество целых констант можно определить как перечисление; (3) константой 
является имя массива или функции. 
2.4.1 Целые константы 
Целые 
константы могут появляться в четырех обличьях: десятичные, восьмеричные, 
шестнадцатеричные и символьные константы. Десятичные константы используются чаще всего и 
выглядят естественно: 
0 1234 976 12345678901234567890 
Десятичная константа имеет тип int, если она умещается в память, отводимую для int, в противном 
случае ее тип long. Транслятор должен предупреждать о константах, величина которых превышает 
выбранный формат представления чисел. Константа, начинающаяся с нуля, за которым следует x (0x), 
является шестнадцатеричным числом (с основанием 16), а константа, которая начинающаяся с нуля, за 
которым следует цифра, является восьмеричным числом (с основанием 8). Приведем примеры 
восьмеричных констант: 
0 02 077 0123 
Их десятичные эквиваленты равны соответственно: 0, 2, 63, 83. В шестнадцатеричной записи эти 
константы выглядят так: 
0x0 0x2 0x3f 0x53 
Буквы a, b, c, d, e и f или эквивалентные им заглавные буквы используются для представления чисел 
10, 11, 12, 13, 14 и 15, соответственно. Восьмеричная и шестнадцатеричная формы записи наиболее 
подходят для задания набора разрядов, а использование их для обычных чисел может дать 
неожиданный эффект. Например, на машине, в которой int представляется как 16-разрядное число в 
дополнительном коде, 0xffff есть отрицательное десятичное число -1. Если бы для представления 
целого использовалось большее число разрядов, то это было бы числом 65535. 


Бьерн Страуструп.
Язык программирования С++ 
 
62 
Окончание U может использоваться для явного задания констант типа unsigned. Аналогично, окончание 
L явно задает константу типа long. Например: 
void f(int); 
void f(unsigned int); 
void f(long int); 
void g() 

f(3); // 
вызов f(int) 
f(3U); // 
вызов f(unsigned int) 
f(3L); // 
вызов f(long int) 



Достарыңызбен бөлісу:
1   ...   54   55   56   57   58   59   60   61   ...   256




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет