Приведение типов

Тип 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\"АЛГОРИТМИЧЕСКИЕ ЯЗЫКИ \"";