Проблема с числами в С.
Выводит не нольВполне ожидаемо, ботай, как обычно хранятся такие числа с плавающей точкой.
P.S. И всякие 'iostream.h' и 'cout <<' тут как-то совсем на C не тянут :]
Проблема на стадии вывода?
Нет. Это действительно не ноль.
Нет, при вычислениях. Здесь так получается, что эти числа не могут храниться точно (т.к. в двоичной системе счисления они выражаются бесконечной двоичной дробью и может получаться ошибка, когда вычитаешь два очень близких числа (или складываешь два числа разного знака, но близких по модулю).
Эта проблема как-нить решается.Ведь ошибка даже небольшая может накопиться допустим при большом числе итераций.
Проставь галочку увеличенной точности floating point при компиляции.
иди ботай
Я же правильно понимаю, что ты какой-то численный метод пишешь?
Да,численный метод. Спасибо за советы всем,кроме Joe Bishop.
а ты зря так, мой совет здесь самый верный
Я же правильно понимаю, что ты какой-то численный метод пишешь?фегасе интуицея, по такому кусочку кода определить его предназначение
Может подскажешь заодно формулу для невязки, чтоб человек не мучался с ошибками округлений ?
фегасе интуицея, по такому кусочку кода определить его предназначениеДавай не будем путать интуицию и телепатию, ок?
Давай не будем путать интуицию и телепатию, ок?ыыы!
Да, я тоже записал в блокнотик
+1
Оставить комментарий
dhifu9
Возникла проблема,может ломовская,но если кто-то уже сталкивался ,сэкономьте время плз.Написал следующий код в MS Visual Studio 6.
Выводит не ноль,причем слагаемые можно менять местами.По отдельности обе скобки считаются нормально.