Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: like-nix   (15.10.2009 в 14:43)
Всем привет!

Вопрос точности вычислений и преобразований double.

Объясните пожалуйста следующее:

Арифметические операции:
double test_k = 1495.0 * 0.00001;
test_k = 0.014950000000000001

Преобразования:
char buffer [50];
double a=5.38986;
sprintf(buffer, "%f", a);
sscanf(buffer, "%lf", &test_k);

test_k = 5.3898599999999997

В обоих случаях получаем погрешность. Как сделать так чтобы не было погрешности в вычислениях?


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: