Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2011, 03:19   #1
world12_tk
Форумчанин
 
Регистрация: 24.02.2009
Сообщений: 269
Восклицание c++ проблема с вычислением квадрата

Здравствуйте уважаемые форумчанины!

Возникла такая проблема:

есть код который вычисляет квадрат:
Код:
long double a;
a = a * a;
Для примера я беру число 216 и возвожу в квадрат несколько раз.
При 3-ем вычисление возникает погрешность вычисления. Для сравнения расчеты производили в стандартном калькуляторе ОС и инженерном калькуляторе....

Не могли бы вы подсказать почему такая ошибка и возможно ли ее исправить????
Заранее спасибо....
world12_tk вне форума Ответить с цитированием
Старый 26.12.2011, 03:32   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Если результат помещается в int, особого смысла переходить на плавающую точку нет.
А если уж перешли, то погрешность — это нормально, т.к. однозначно представить число в виде плавающей точки почти никогда нельзя. Отбрасывайте последние несколько разрядов, там всё-равно будет мусор после нескольких умножений.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с вычислением з/п qwertase БД в Delphi 4 29.03.2011 18:46
массив проблема с вычислением oban11 Помощь студентам 3 14.11.2010 22:04
Проблема с вычислением oban11 Помощь студентам 1 13.11.2010 13:14
Проблема с вычислением количества дней в феврале функцией getTime(); Max0001 JavaScript, Ajax 1 05.12.2008 07:03