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

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

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

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

19.11.2012, 03:09. Просмотров 1075. Ответов 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
Почему он округляет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 03:09
Здравствуйте! Я подобрал для вас темы с ответами на вопрос При делении округляет (C++):

Найти все пятизначные числа, которые при делении на A дают в остатке B, а при делении на C дают в остатке D - C++
C++ Напишите программу, которая вводит четыре натуральных числа (a, b, c и d) и находит все пятизначные числа, которые при делении на a...

Найти числа, которые при делении на 47 дают в остатке 43, а при делении на 43 дают в остатке 47 - C++
Мне нужно написать программу в Dev-C++ для поиска трехзначных чисел, которые при делении на 47 дают в остатке 43, а при делении на 43 дают...

1/2 при выводе округляет до нуля - C++
Вот отрывок проги ,я не понимаю,почему уменя 1/3 и 1/2 прога сразу округляет до нуля,в чем проблема double a={{1/massiv2 , massiv2...

Округление при делении - C++
Всем привет. Как математически округлить такое? int a = 7; int b = 4; double c = a/b; Суть в том, что а и b могут быть любые....

При делении 2 на 4 результат - 0 - C++
Стыдно, но не могу понять, почему компилятор выдает 0. Есть код функции:int high = 0; int mid = 0; int h; int m; int in; ...

Ошибка при делении - C++
Как ни кручу все время получается r = 1. Я в вычислении что-то не так делаю или при выводе? double a, b, r; ...

2
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.
0
grizlik78
Эксперт С++
1956 / 1449 / 115
Регистрация: 29.05.2011
Сообщений: 3,007
19.11.2012, 03:31 #3
Цитата Сообщение от Peregrin Посмотреть сообщение
Во втором примере видимо k приводится к int
Если это так, то это ошибка компилятора. Хотя где-то я такую ошибку уже видел, т.е. это вполне возможно.

Добавлено через 1 минуту
Но это при условии, что k действительно double.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2012, 03:31
Привет! Вот еще темы с ответами:

Калькулятор - исключение при делении на 0 - C++
Здравствуйте, я решил написать простой калькулятор, вот он: #include&lt;conio.h&gt; #include&lt;locale.h&gt; #include&lt;stdio.h&gt; #define END '0' ...

При делении 4/6 выдает 4 в цикле - C++
int TForm1::faktorial(int a) { int sumN=1; for(int i=1;i&lt;=a;i++) sumN*=i; ...

Ошибка при делении чисел - C++
Ошибка при делении чисел. Значения MaxEuroToDol и MaxEuroDolToEuro всегда получаются равными 1 или 0 (Проверка в строке 178). Задание:...

Как происходит переполнение при делении - C++
Форумчане,подскажите желательно на С++, каким образом происходить переполнение буфера(или стэка) при операции деления?


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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