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

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

Войти
Регистрация
Восстановить пароль
 
nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
#1

Откуда погрешность? - C++

05.11.2011, 01:04. Просмотров 1048. Ответов 9
Метки нет (Все метки)

C++
1
2
double j=3.143;
cout << int(j*1000); // выдает 3142
Подскажите откуда берется погрешность?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.11.2011, 01:04     Откуда погрешность?
Посмотрите здесь:

Погрешность интерполяции на C++ - C++
написал код для интерполяционного полинома Ньютоно, он работает правильно, но вот никак не могу разобратса как обчислить его погреность ...

Погрешность в вычислениях - C++
Есть зщадание вычислить значения для {y}_{n}=\frac{1}{n}-5{y}_{n-1} если n=0,1,2,3,...,16. зная что {y}_{n}\approx 0.182321556 Я написал...

Погрешность и бесконечность - C++
Как задать в программе бесконечность(infinity) и погрешность (EPS) например для типа float?

Погрешность вычислений - C++
Читаю книгу Дейтелов &quot;Как программировать на С++&quot;, попалась следующая задача, где нужно вводить кол-во бензина, пройденный путь, исходя из...

Погрешность вычислений - C++
определить погрешность вычислений на ЭВМ выражения а*(1/a), задавая тип данных для переменной a - float, double, long double. Для этого...

Найти погрешность числа - C++
Добрый вечер.Дана вроде простая задача,а появились проблемы.Записать число пи с 5 значащими цифрами.Нужно найти относительную погрешность...

Погрешность дробной части - C++
Сначала опишу задание, потом проблему. Задание: Дан первый элемент, остальную часть последовательности чисел надо вычислить по...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I2um1
Злой няш
1399 / 1097 / 142
Регистрация: 05.04.2010
Сообщений: 1,949
05.11.2011, 01:15     Откуда погрешность? #2
Здесь внизу или здесь есть информация о том, как в компьютере представляются вещественные числа. Это так сказать срабатывает погрешность при переводе из абракадабры в нормальный вид числа и все потому, что вещественное число хранится в слегка необычной форме.
Vourhey
Почетный модератор
6477 / 2252 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
05.11.2011, 01:16     Откуда погрешность? #3
nikitapel, представление вещ-х чисел здесь на форуме уже много раз обсуждалось. Юзай поиск.
Bers
Заблокирован
05.11.2011, 01:17     Откуда погрешность? #4
Цитата Сообщение от nikitapel Посмотреть сообщение
Подскажите откуда берется погрешность?
Особенности хранения вещественного числа в памяти.
Если дробная часть числа не является основанием двойки в степени N, то машина не в состоянии запомнить такое число без погрешности.

вместо 0,3 будит либо 0,2999999999999999 либо 0,300000000000001 и тп
nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
05.11.2011, 01:24  [ТС]     Откуда погрешность? #5
Подскажите а как вообще решить эту проблему!?

Добавлено через 4 минуты
Bers но
C++
1
2
double j=3.143;
cout << j*1000;
Пишет без проблем 3143.
Bers
Заблокирован
05.11.2011, 01:30     Откуда погрешность? #6
nikitapel, то, что выводит на экранчик консолька - это мелом по воде писанно.
Смотрите в отладчике, что на самом деле живет в переменной j

Добавлено через 4 минуты
C++
1
2
3
 double j=3.143; //3.1429999999999998
    double m=j*1000; //3143.0000000000000
    double l = j*10000; //31429.999999999996
nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
05.11.2011, 01:43  [ТС]     Откуда погрешность? #7
Bers а почему тогда он не выводит на экран 3.1429999999999998?

Добавлено через 10 минут
Сделал вот так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <sstream>
using namespace std;
int DoubleToInt(double nik)
{
    nik=nik*1000;
stringstream per;
int g1;
per << nik;
per >> g1;
return g1;    
}
    
int main()
{
cout << DoubleToInt(3.147);
system("pause");
}
Bers
Заблокирован
05.11.2011, 01:44     Откуда погрешность? #8
Цитата Сообщение от nikitapel Посмотреть сообщение
Bers а почему тогда он не выводит на экран 3.1429999999999998?
Консолька умеет учитывать погрешность.
nikitapel
36 / 36 / 4
Регистрация: 20.03.2011
Сообщений: 331
05.11.2011, 01:50  [ТС]     Откуда погрешность? #9
Да Bers действительно консоль учитывает погрешность.
Прровел тест.
C++
1
2
3
cout << int(3.14) << "\n";
cout << int(3.52) << "\n";
cout << int(3.99) << "\n";
Везде выдал 3. Я то думал что он округляет.
Теперь понятно почему предыдущий код работает!!!
Спасибо большое Bars просветили
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2012, 22:55     Откуда погрешность?
Еще ссылки по теме:

Погрешность метода Симпсона - C++
Как рассчитать погрешность метода, если известно, что оценка погрешности составляет 0.01 #include &lt;iostream&gt; #include &lt;cmath&gt; ...

Погрешность числа (округление) - C++
Всем привет,есть алгоритм в котором производится операция умножения часто. В конечном итоге я получаю ответ равный 1, а верный ответ...

Высокая точность вычислений (погрешность<10^-30) - C++
Здравствуйте, необходимо вычислить значение функции с заданной точностью (к примеру с точностью до 30-го знака после запятой), знает ли кто...

Вычислить и определить погрешность результата - C++
x=\frac{a*b^3}{c} если a=0,142(\pm 0,0003)\; ,\; b=1,71(\pm 0,002)\; ,\; c=3,727(\pm 0,001) Даже не знаю с чего начать,...

Погрешность вычисления(ряд Тейлора) - C++
написал программку вычисления функции exp(x) разложением в ряд Тейлора с заданной точностью. Программа должна суммировать члены ряда до тех...


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

Или воспользуйтесь поиском по форуму:
NEvOl
19 / 18 / 0
Регистрация: 13.08.2012
Сообщений: 726
21.11.2012, 22:55     Откуда погрешность? #10
у меня возникла проблема, работаю в VCL Forms числа вывожу влейблы, всё работает как нужно, но после подключения d3dx9.h появляется погрешность, подскажите пожалуйста что делать ?(

Добавлено через 5 часов 1 минуту
проблема решена
Yandex
Объявления
21.11.2012, 22:55     Откуда погрешность?
Ответ Создать тему
Опции темы

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