|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C/C++ - деление в c++ |
|
|
C/C++ - деление в c++
|
Новый участник Сообщения: 20 |
Double x = 5 / 2;
cout << x; выводит не 2.5, а 2 что делать, в чем дело, как исправить? помогите плиз |
|
Отправлено: 22:09, 04-10-2016 |
Ветеран Сообщения: 3307
|
Профиль | Отправить PM | Цитировать
Дело в том, что компилятор воспринимает 5 как целое число int, делит его на другое целое число и получается результат - тоже целое число. И только потом он приводится к типу double:
Как-то так получается. Для деления с сохранением дробной части нужно 5 привести к типу double до операции деления: Или же просто определить в виде дробного числа, как я показал в самом начале. |
Отправлено: 23:19, 04-10-2016 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать спасибо
а допустим int x; double a; cin >> x; вводится 5 a = x/2; cout << a; выведет тоже 2, а надо 2.5! как быть? все!!! понял!!! a = x*1.0/2; |
Последний раз редактировалось sheepang, 05-10-2016 в 14:09. Причина: понял Отправлено: 13:55, 05-10-2016 | #3 |
Ветеран Сообщения: 3307
|
Профиль | Отправить PM | Цитировать Цитата sheepang:
Объявите его double и всё: Цитата sheepang:
Хотя в данном случае правильнее всего обявить x переменной типа double, как я сказал в самом начале. |
||
Отправлено: 15:45, 05-10-2016 | #4 |
Новый участник Сообщения: 20
|
Профиль | Отправить PM | Цитировать спасиб
|
|
Отправлено: 17:55, 05-10-2016 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата shisik:
|
|
Отправлено: 18:23, 05-10-2016 | #6 |
Ветеран Сообщения: 3307
|
Профиль | Отправить PM | Цитировать Цитата Iska:
|
|
Отправлено: 18:34, 05-10-2016 | #7 |
Ветеран Сообщения: 740
|
Профиль | Отправить PM | Цитировать Цитата shisik:
|
|
Отправлено: 17:07, 07-10-2016 | #8 |
Ветеран Сообщения: 3307
|
Профиль | Отправить PM | Цитировать Цитата User001:
|
|
Отправлено: 21:58, 07-10-2016 | #9 |
Ветеран Сообщения: 740
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:53, 08-10-2016 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2010 - Деление | omelon | Microsoft Office (Word, Excel, Outlook и т.д.) | 6 | 13-06-2012 15:38 | |
Загрузка - Деление дисков | Fives | Microsoft Windows 2000/XP | 6 | 22-01-2011 01:10 | |
Assm - Деление | ManHack | Программирование и базы данных | 6 | 13-04-2010 23:21 | |
Деление трафика | Teo | Сетевые технологии | 1 | 13-12-2003 08:13 | |
Деление диска | Flip | Microsoft Windows 95/98/Me (архив) | 5 | 19-10-2002 20:09 |
|