Приведение типов
Тип void
Типы с плавающей точкой
Тип bool
Тип boolназывается логическим. Его величины могут принимать значения true и false. Внутренняя форма представления false – 0, любое другое значение интерпретируется как true.
Внутреннее представление вещественного числа состоит из 2 частей: мантиссы и порядка. В IBM-совместимых ПК величины типа float занимают 4 байта.
Величины типы double занимают 8 байтов.
Если перед именем типа double стоит спецификатор long, то под величину отводится 10 байтов.
К основным типам также относится тип void Множество значений этого типа – пусто.
Нужно для того чтобы производить операции одновременно над разными типами данных. Существует
· неявное приведение типов, т.е. компилятор сам решает к какому типу ему нужно привести данные
Например, сложить переменные типа int и double. Тип меняется только на время операции.
При сложении double=int+double, int приводится к double на время операции – это расширяющие приведения.
Если int=int+double, double приводится к int и происходит потеря данных, т.к. дробная часть просто отбрасывается. Это сужающие приведения, при этом некоторые данные могут теряться.
Расширяющие short, bool, char -> int -> long ->float ->doble
Сужающие doble -> float - long -> int -> char, bool, short
· явное приведение типов:
Существует две формыявного приведения (преобразования) типа:
1) каноническая, общий вид: (имя_типа) операнд;
2) функциональная, общий вид: имя_типа (операнд).
Пример 15. Операции явного преобразования типа
(int)a //каноническая форма
int(a) //функциональная форма
Константы в C++
1) Целые константы могут быть десятичными, восьмеричными и шестнадцатеричными.
Десятичная константа определяется как последовательность десятичных цифр, начинающаяся не с 0, если это число не 0 (примеры: 8, 0, 192345).
Восьмеричная константа – это константа, которая всегда начинается с 0. За 0 следуют восьмеричные цифры (примеры: 016 – десятичное значение 14).
Шестнадцатеричные константы – последовательность шестнадцатеричных цифр, которым предшествуют символы 0х или 0Х (примеры: 0хА, 0Х00F).
2) Вещественные константы могут иметь две формы представления:
§ с фиксированной точкой:
[цифры].[цифры] (примеры: 5.7, .0001, 41.).
§ с плавающей точкой:
[цифры][.][цифры]E|e[+|-][цифры](примеры: 0.5е5, .11е-5, 5Е3).
3) Перечислимые константывводятся с помощью ключевого слова enum.
Пример 5. Перечислимые константы.
enum { one=1, two=2, three=3, four=4};
enum {zero, one, two, three}
enum { ten=10, three=3, four, five, six};
enum {Sunday, Monday, Tuesday, Wednesday,Thursday, Friday, Saturday};
4) Символьные константы– это один или два символа, заключенные в апострофы.
Последовательности, начинающиеся со знака \ , называются управляющими, они используются:
· для представления символов, не имеющих графического отображения, например:
\a – звуковой сигнал,
\b – возврат на один шаг,
\n – перевод строки,
\t – горизонтальная табуляция.
· для представления символов: \ , ’ , ? , ” ( \\, \’ ,\? ,\” ).
· для представления символов с помощью шестнадцатеричных или восьмеричных кодов (\073, \0хF5).
Строковая константа – это последовательность символов, заключенная в кавычки. Внутри строк также могут использоваться управляющие символы.
Пример 6. Строковые константы.
cout<< "\nНОВАЯ СТРОКА";
cout<<"\n\"АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ \"";