Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗cpPmCvSC 59 of 390 menu
◀ ▶

Явное преобразование типа в C++

Явное преобразование пишет новый тип прямо у числа. Для этого служит слово static_cast. В угловых скобках стоит новый тип, в круглых - что преобразуем. Правила те же, что при обычной записи в переменную.

Возьмем int и явно преобразуем его в double. Результат запишем в дробную переменную. Величина остается той же:

int num1 = 12; double num2 = static_cast<double>(num1); std::cout << num2 << "\n"; // выведет 12

Переменная num1 остается int. Дробным стало число в num2. Точка на экране не видна: дробная часть нулевая.

Та же запись нужна внутри действия, когда новую переменную заводить незачем. Разделим два int. Обычное деление отбрасывает дробь:

int num1 = 5; int num2 = 2; std::cout << num1 / num2 << "\n"; // выведет 2

Преобразуем первое число в double до деления. Хвост сохраняется, а num1 по-прежнему int:

int num1 = 5; int num2 = 2; std::cout << static_cast<double>(num1) / num2 << "\n"; // выведет 2.5

Обратное преобразование отбрасывает хвост к нулю. Возьмем дробь 9.7 и явно запишем ее как int:

double num = 9.7; int whole = static_cast<int>(num); std::cout << whole << "\n"; // выведет 9

Дана переменная:

int num = 8;

Преобразуйте ее в double через static_cast, запишите результат в новую переменную и выведите ее.

Даны две переменные:

int num1 = 8; int num2 = 5;

Найдите частное, записав первое число как double через static_cast прямо в выражении, и выведите его.

Дана переменная:

double num = 6.4;

Запишите ее целую часть в переменную int через static_cast и выведите ее.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить