Преобразование float в int с инициализацией переменной на лету, адекватно?

int a;
float y;
a = 5;
y = 2.4;

int x = 2 * (a + y);

Правильно ли отбрасывать "дробную" часть таким путём?
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 1
@DollaR84
У вас происходит неявное преобразование типов.
в C явное преобразование выглядит так:
int x = 2 * (a + (int) y);
Почитать можно например тут:
https://foxford.ru/wiki/informatika/yavnoe-i-neyav...
Однако в C++ лучше использовать другие инструменты, например static_cast.
Тогда ваш пример будет таким:
int x = 2 * (a + static_cast(y));
Вот тут про static_cast:
https://ru.wikipedia.org/wiki/Static_cast
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
АКМЭ сервис Санкт-Петербург
от 120 000 ₽
Кликнет Санкт-Петербург
До 150 000 ₽
Технология Екатеринбург
от 100 000 до 200 000 ₽
02 апр. 2020, в 21:27
600 руб./за проект
02 апр. 2020, в 21:15
3000 руб./за проект
02 апр. 2020, в 21:11
8500 руб./за проект