Явное и неявное преобразование типов данных C++

Слайд 2

В C++ различают явное и неявное преобразование типов данных.
Неявное преобразование типов данных

В C++ различают явное и неявное преобразование типов данных. Неявное преобразование типов
выполняет компилятор С++.
Явное преобразование данных выполняет сам программист.
Результат любого вычисления будет преобразовываться к наиболее точному типу данных, из тех типов данных, которые участвуют в вычислении.
Для наглядного примера представлю таблицу с преобразованиями типов данных. В таблице рассмотрим операцию деления. В качестве целочисленного типа данных возьмем int, ну и вещественный тип данных у нас будет float.

Слайд 4

При неявном преобразовании меняя переменные различных типов данных местами, результат остается тот же (в

При неявном преобразовании меняя переменные различных типов данных местами, результат остается тот
нашем случае это делимое и делитель).
Что же касается явного преобразования, то оно необходимо для того чтобы выполнять некоторые манипуляции, тем самым меняя результат вычисления.

Слайд 5

Еще один способ явного преобразования типов данных:

Еще один способ явного преобразования типов данных:

Слайд 6

В С++ также предусмотрена унарная операция приведения типа:
static_cast(/*переменная или число*/)
Пример: static_cast(15)/2 результат равен

В С++ также предусмотрена унарная операция приведения типа: static_cast (/*переменная или число*/)
7.5
Пример с переменной:
int ret=15;
static_cast(ret)/2 //результат равен 7.5
В случае с переменной надо понимать, что в строке 2 переменная ret не преобразуется в тип данных float, а всего лишь создается временная копия переменной ret с типом данных float.

Слайд 7

Рассмотрим на практике все способы явного и неявного преобразования типов данных.

Рассмотрим на практике все способы явного и неявного преобразования типов данных.

Слайд 8

В строке 5 подключена библиотека манипуляций ввода/вывода , эта библиотека нужна для использования различных манипуляторов, в

В строке 5 подключена библиотека манипуляций ввода/вывода , эта библиотека нужна для
нашем случае — fixed setprecision(). В строке 10 специально созданы две переменные типа int, аналогично создал две переменный типа float в строке 11, эти переменные нужны будут для преобразования их значений в другие типы данных. В строке 12 после оператора cout и операции сдвига в поток вывода << стоят два манипулятора fixed и setprecision(). Манипулятор fixed — это не параметризированный манипулятор, так как никаких параметров не принимает, пишется без круглых скобок. Данный манипулятор применяется в паре с параметризированным манипулятором  setprecision() и выполняет фиксированное отображение разрядов после запятой. А манипулятор setprecision() отображает количество знаков после запятой,  причём то, которое указано в скобочках. В строках 13, 14, 15, 16 показаны примеры неявного преобразования типов данных, эти примеры взяты из таблицы 1. В строках 17, 18 показан один из способов явного преобразования данных. Суть такого способа заключается в том, что нужно дописать запятую и нуль к целому числу.