![]() |
Модераторы: bsa |
![]() ![]() ![]() |
|
XenOS12 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 28.3.2008 Где: Москва Репутация: нет Всего: нет |
Почему, когда я пытаюсь возвести в квадрат x с типом int, то получается 24, а когда с типом double, то все хорошо и получается 25?
|
|||
|
||||
vol4ek |
|
|||
![]() конь в пальто ![]() ![]() Профиль Группа: Участник Сообщений: 304 Регистрация: 1.5.2011 Где: Минск Репутация: нет Всего: 0 |
фяункция exp() в качестве аргумента принимает значение с плавающей точкой
Добавлено через 1 минуту и 29 секунд возможные перегрузки в C/C++
|
|||
|
||||
Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 4 Всего: 49 |
Потому что вычисление логарифма и экспоненты производится с машинной точностью. На промежуточных этапах получаются бесконечные десятичные дроби, которые округляются вверх или вниз. Если сделать вариант с double, но перед выводом вставить что-нибудь вроде cout.precision(20); (чтобы при выводе использовалось 20 цифр), то окажется, что x равен 24.999999999999996447, а 25 - это просто результат округления. Для целого x получается нечто аналогичное, после чего при засовывании этого результата в целочисленную переменную дробная часть просто отбрасывается и остается 24.
|
|||
|
||||
XenOS12 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 44 Регистрация: 28.3.2008 Где: Москва Репутация: нет Всего: нет |
Фантом, спасибо большое за ответ =)
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Для новичков" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |