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

Ввод/вывод очень маленьких чисел - C++

Восстановить пароль Регистрация
 
give_up
1 / 1 / 0
Регистрация: 17.03.2011
Сообщений: 42
27.02.2013, 01:33     Ввод/вывод очень маленьких чисел #1
Народ, срочно нужно!
Подскажите, как сделать чтобы при арифметических операциях в С++ можно было посчитать числа порядка 10^(-200)? А еще лучше порядка 10^(-500)!
У меня неизвестно по каким причинам меньше 10^(-18) не считает.

Есть ли способ чтобы в проге все вычисления делались с помощью long double или хотя бы double
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NEbO
583 / 451 / 49
Регистрация: 22.01.2009
Сообщений: 1,173
Записей в блоге: 1
Завершенные тесты: 1
27.02.2013, 05:33     Ввод/вывод очень маленьких чисел #2
раз причины известны, то почему такие вопросы? double не может содержать числа порядка 10^-200, точности не хватит. конечно, если все числа имеют примерно одинаковое и небольшое количество знаковых разрядов, можно попробовать (как бы) умножить на те самые 10^200, и тогда перейти к long long, например. если же все из этих разрядов знаковые, то нужны библиотеки для работы с длинными дробными числами. gmp/mpfr/mpc. точно сейчас не скажу какая из них нужна, gmp вроде бы для целых, а mpfr и mpc для дробных. хотя я могу и ошибаться. вообщем, попробуйте
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
27.02.2013, 12:48     Ввод/вывод очень маленьких чисел #3
попробуй создать класс, в котором разбей на 2 части число - число и показатель степени и перепиши операторы +, -, *, /
Nikitoslav
0 / 0 / 1
Регистрация: 09.04.2015
Сообщений: 18
05.11.2015, 02:21     Ввод/вывод очень маленьких чисел #4
да элементарно же, double k = 1.38 * pow(10, -23); константа Больцмана, например
IrineK
Заблокирован
05.11.2015, 02:41     Ввод/вывод очень маленьких чисел #5
Ввод/вывод очень маленьких чисел: std::scientific

Добавлено через 7 минут
Цитата Сообщение от give_up Посмотреть сообщение
А еще лучше порядка 10^(-500)
А вот это уже дудки.
cfloat
Можете вывести, чему равны у вас FLT_MIN, DBL_MIN, LDBL_MIN - и исходить из этого.
give_up
1 / 1 / 0
Регистрация: 17.03.2011
Сообщений: 42
05.11.2015, 11:31  [ТС]     Ввод/вывод очень маленьких чисел #6
Спасибо, но этой теме уже больше двух лет))
В свое время решил проблему с помощью библиотеки C++ MPFR, там хоть 10^(-1000000) и еще меньше можно посчитать
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.11.2015, 14:34     Ввод/вывод очень маленьких чисел
Еще ссылки по теме:

C++ Есть очень много маленьких текстовых файлов необходимо слить в один файл
C++ Запросить ввод нескольких чисел, и определить, сколько из этих чисел отрицательны
C++ Ввод и вывод чисел типа float

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

Или воспользуйтесь поиском по форуму:
gru74ik
Модератор
 Аватар для gru74ik
3120 / 1346 / 167
Регистрация: 20.02.2013
Сообщений: 3,835
Записей в блоге: 17
05.11.2015, 14:34     Ввод/вывод очень маленьких чисел #7
give_up, было уже сто раз. Boost подключайте.

Добавлено через 39 секунд
Цитата Сообщение от give_up Посмотреть сообщение
этой теме уже больше двух лет))
тьфу, ёпрст
Yandex
Объявления
05.11.2015, 14:34     Ввод/вывод очень маленьких чисел
Ответ Создать тему
Опции темы

Текущее время: 20:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru