Почему при делении получаю 0, а не число с плавающей точкой и цифрами после запятой
Рассмотрим пример:
Мы получим 0, но почему? Ведь мы явно указали тип float и должны получить дробное число с запятой. Но компилятор С++ считает, что вы разделили целое на целое и результат должен быть целым. Поэтому, чтобы указать что мы хотим разделить и получить число с плавающей точкой, нужно явно записать так:
Теперь результат деления будет уже тот, который мы хотим увидеть - 0.4
float r = 2/5;
std::cout << r << endl;
Мы получим 0, но почему? Ведь мы явно указали тип float и должны получить дробное число с запятой. Но компилятор С++ считает, что вы разделили целое на целое и результат должен быть целым. Поэтому, чтобы указать что мы хотим разделить и получить число с плавающей точкой, нужно явно записать так:
float r = 2/f/5;
std::cout << r << endl;
Теперь результат деления будет уже тот, который мы хотим увидеть - 0.4
Оставить свой ответ: