Как изменить тип одной или нескольких переменных? (например с int на float) С++

Достаточно сконвертить только одну правильную переменную во время операции, дальше уже пойдет приоритет типов операторов. Т.е.
float r1 = 10 / 3; // 3
float r2 = (float)10 / 3; // 3.33
float r3 = 10.0f / 3; // 3.33
float r4 = 10 / 3.0f; // 3.33
`
ОЖИДАНИЕ РЕКЛАМЫ...

Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
9
Типа можно так: cout << "lol"; cout << "poo"; cout << "dauym"; cout << "wat?"; А можно так: cout << "lol << "poo" << "dauym" << "wat?";
Ты сейчас записал равные по результату операции занесения в поток? Пока вообще не понятно, что ты хочешь сказать.
Приведение типов происходит как описать эхнатон, для нескольких переменных - пиши для каждой приписку или пробуй такую вещь: (float) int1, int2, int3; Первое точно получится, второе - не знаю.
20
Не получается. Мне вот нужно провести арифметические операции с int переменнами и присвоить их float: first = op1_1+(op1_2+op1_3/12)/20; Но сначала наверное их надо перевести в тот же тип самому или есть другой способ?
9
Тогда примерно так:
first = op1_1+(op1_2+op1_3/12)/20;
float first_float;
first_float = (float) first;
14
Оператор приведения
Нда, всё равно не совсем то, почитай про преобразования типов в выражениях и о явном приведении типов.
(Например Шилдт Полный справочник по С++ 4-е издание конец 2й главы)
28
first = (float)(op1_1+(op1_2+op1_3/12)/20);
так короче
28
ZregerZ, и чем оно бессмысленно?
оно ничем не отличается от того что написал ген
просто короче
24
И тот и другой вариант дадут жару, если операнды целочисленные - деление может пойти совсем не так, как хотелось бы.
9
И тот и другой вариант дадут жару, если операнды целочисленные - деление может пойти совсем не так, как хотелось бы.
Понял тебя, я немного не туда завернул, подумав, что ему главное получить float-ский результат.
Автор, ну тогда ничего не остается кроме явного приведения каждой переменной.
29
Достаточно сконвертить только одну правильную переменную во время операции, дальше уже пойдет приоритет типов операторов. Т.е.
float r1 = 10 / 3; // 3
float r2 = (float)10 / 3; // 3.33
float r3 = 10.0f / 3; // 3.33
float r4 = 10 / 3.0f; // 3.33
Принятый ответ
24
alexprey, одну, но только правильно выбранную: float x = (float)5 + 10/3; не даст желаемого результата, если я ничего не путаю.
Показан только небольшой набор комментариев вокруг указанного. Перейти к актуальным.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.