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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.11.2012, 18:05   #1
firephenix
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 89
По умолчанию Double

Всем привет. Почему переменная double равная 1e24, в отладчике отображается как 9.9999999999999998e+023? И можно ли это исправить?

PS c++, VS 2010

Последний раз редактировалось firephenix; 20.11.2012 в 18:08.
firephenix вне форума Ответить с цитированием
Старый 20.11.2012, 18:18   #2
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Исправить нельзя и, скорее всего, не нужно. Это 1e24 с точностью 17 десятичных знаков. Такой точности хватит, чтобы измерить длину экватора Земли с ошибкой порядка размера одной молекулы.

Возникает она из-за особенностей представления вещественных чисел в памяти компьютера.
Abstraction вне форума Ответить с цитированием
Старый 20.11.2012, 18:21   #3
firephenix
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 89
По умолчанию

Спасибо, буду искать обходной путь.
firephenix вне форума Ответить с цитированием
Старый 20.11.2012, 18:25   #4
Abstraction
Старожил
 
Аватар для Abstraction
 
Регистрация: 25.10.2011
Сообщений: 3,178
По умолчанию

Цитата:
Спасибо, буду искать обходной путь.
Обходной путь для чего? Вам нужно хранить целое число порядка 10^24 с точностью до единицы? Это называется "длинной арифметикой", есть специальные библиотеки.
Abstraction вне форума Ответить с цитированием
Старый 20.11.2012, 18:36   #5
firephenix
Пользователь
 
Регистрация: 14.02.2011
Сообщений: 89
По умолчанию

Мне нужно используя функцию pow находить целую часть от кубического корня. А когда дохожу до извечения из 1e24 функция начинает возвращать неточные ответы.
firephenix вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отличие double и long double в Вижиал cover Общие вопросы C/C++ 1 14.10.2012 13:53
E2015 Ambiguity between 'std::log(double)' and 'std::log(long double)' Namolem Помощь студентам 3 02.04.2011 20:22
функция pow(double x, double y) Не могу понять в чем ошибка Vlashel Помощь студентам 3 07.10.2010 16:28
long double vs. double VoidMan Общие вопросы C/C++ 1 21.09.2009 18:45
Double/? Viteef Общие вопросы Delphi 6 25.07.2007 02:28