Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
silverhawk90
3 / 3 / 0
Регистрация: 23.03.2010
Сообщений: 31
#1

При делении округляет - C++

19.11.2012, 03:09. Просмотров 961. Ответов 2
Метки нет (Все метки)

Объясните мне, пожалуйста, такой казус:
C++
1
2
3
4
5
double e=0,k=2;
 
e=352*k+1;
e/=25;
cout<<e<<endl;
На экран выдает: 28,2

А когда пишу:
C++
1
2
3
4
double e=0,k=2;
 
e=(352*k+1)/25;
cout<<e<<endl;
то выдает на экран: 28
Почему он округляет?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 03:09     При делении округляет
Посмотрите здесь:

C++ Калькулятор - исключение при делении на 0
Найти числа, которые при делении на 47 дают в остатке 43, а при делении на 43 дают в остатке 47 C++
C++ Что возвращать при делении на ноль?
Длинная арифметика (найти остаток при делении на 7) C++
При делении 2 на 4 результат - 0 C++
Округление при делении C++
C++ Найти все пятизначные числа, которые при делении на A дают в остатке B, а при делении на C дают в остатке D
C++ Как происходит переполнение при делении
При делении 4/6 выдает 4 в цикле C++
C++ Отбрасывание дробной части числа при делении
C++ 1/2 при выводе округляет до нуля
C++ Ошибка при делении

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Peregrin
33 / 33 / 1
Регистрация: 16.11.2012
Сообщений: 59
19.11.2012, 03:27     При делении округляет #2
В первом примере сначала e=705, затем при e/=25 происходит приведение "705" к "705." и получается 28.2.
Во втором примере видимо k приводится к int, вычисляется 705/25, которое равно 28.
grizlik78
Эксперт С++
1903 / 1435 / 109
Регистрация: 29.05.2011
Сообщений: 2,989
19.11.2012, 03:31     При делении округляет #3
Цитата Сообщение от Peregrin Посмотреть сообщение
Во втором примере видимо k приводится к int
Если это так, то это ошибка компилятора. Хотя где-то я такую ошибку уже видел, т.е. это вполне возможно.

Добавлено через 1 минуту
Но это при условии, что k действительно double.
Yandex
Объявления
19.11.2012, 03:31     При делении округляет
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru