singlepost

long double и double или как избавиться от переполнения(C++ Builder) << На главную или назад  

при использовании обычного дабл идет переполнение,
подскажите пожалуйста как перевести полученное число в строку?

24 ответов в теме “long double и double или как избавиться от переполнения(C++ Builder)”

  1. 12
    Леонид Максимов ответил:

    а смысл какой? у него ряд расходится, так что ваш long double только на несколько иттераций отсрочит переполнение.

  2. 11
    Валерий Лаптев ответил:

    1. Возводить в квадрат и в куб с помощью функции pow() – насмешили!
    2. Если на Билдере, то можно использовать long double. По крайней мере в прежние времена это позволяло считать числа до 10^4932

  3. 10
    Леонид Максимов ответил:

    а ваша функция удовлетворяет условиям теоремы о простой иттерации?

  4. 9
    З Ц ответил:

    вот часть исходника

    double x0=-4, x1, eps=0.001, y, z;
    while (x0>=-4 && x0<=1)
    {
    y=(2*pow(x0,3)-9*pow(x0,2)+1)/60
    z=pow(x0,2);
    if (fabs(y-z)<eps)
    {
    Memo1->Strings->add(x0);
    }
    x0=y;
    }

    через tchart проверял по графику видно 2я производная знак не меняет, специально привел к такому виду, так что расхождения быть не должно, по началу только одну точку считал с резултатом ~ 9-10 знаков после запятой но это при приведении x=z(x), а там во второй половине расходящийся. может кто ещё знает как можно реализовать такую задачу?

  5. 8
    Леонид Максимов ответил:

    да вряд ли. скорее он попал на расходящийся ряд: "по формуле ищется решение уравнения методом итерации". просто добавь воды.

  6. 7
    Сергей Переславцев ответил:

    интересно что за расчеты с числами больше чем 10^308 :)

  7. 6
    Подмогаев Свят ответил:

    например (10^10)^(10^100) mod 10^1000

  8. 5
    Александр Лищенер ответил:

    жесть)

  9. 4
    Евгений Гаврин ответил:

    Чуваааааак. Ты аааа чооооом???

  10. 3
    Евгений Гаврин ответил:

    Если стандартные типы переполняются – надо взять класс сверхбольших чисел сделать, который не будет переполняться. И реализовать для него необходимые методы: возведение в степень, сложение, вычитание и тд.

  11. 2
    З Ц ответил:

    ап

  12. 1
    З Ц ответил:

    да там немного в другом проблема, по формуле ищется решение уравнения методом итерации и при некотором х ругается
    pow: overflow error
    sqrt: overflow error

Клуб программистов работает уже ой-ой-ой сколько, а если поточнее, то с 2007 года.