На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
Дорогие друзья! Поздравляем вас с днём Победы!
msm.ru
! ПРАВИЛА РАЗДЕЛА · FAQ раздела Delphi · Книги по Delphi
Пожалуйста, выделяйте текст программы тегом [сode=pas] ... [/сode]. Для этого используйте кнопку [code=pas] в форме ответа или комбобокс, если нужно вставить код на языке, отличном от Дельфи/Паскаля.
Следующие вопросы задаются очень часто, подробно разобраны в FAQ и, поэтому, будут безжалостно удаляться:
1. Преобразовать переменную типа String в тип PChar (PAnsiChar)
2. Как "свернуть" программу в трей.
3. Как "скрыться" от Ctrl + Alt + Del (заблокировать их и т.п.)
4. Как прочитать список файлов, поддиректорий в директории?
5. Как запустить программу/файл?
... (продолжение следует) ...

Вопросы, подробно описанные во встроенной справочной системе Delphi, не несут полезной тематической нагрузки, поэтому будут удаляться.
Запрещается создавать темы с просьбой выполнить какую-то работу за автора темы. Форум является средством общения и общего поиска решения. Вашу работу за Вас никто выполнять не будет.


Внимание
Попытки открытия обсуждений реализации вредоносного ПО, включая различные интерпретации спам-ботов, наказывается предупреждением на 30 дней.
Повторная попытка - 60 дней. Последующие попытки бан.
Мат в разделе - бан на три месяца...
Модераторы: jack128, D[u]fa, Shaggy, Rouse_
Страницы: (9) 1 [2] 3 4 ...  8 9 все  ( Перейти к последнему сообщению )  
> [Delphi] Длинная арифметика , Давно уже пишется модуль... по кускам
    Цитата Navi1982 @
    В принцыпе тех значений, что я привел выше, в полне достаточно для высокой степени точности расчетов в основной программе, но все-же хотелось бы достич предельно максимальных значений.

    Это что считаешь-то? :blink:
      Цитата Romkin @
      Это что считаешь-то?


      Не иначе как расстояния между скоплениями галактик в попугаях :blink:
        Цитата Romkin @
        Это что считаешь-то? :blink:

        Это не так важно, но в общих чертах - это нечто вроде отпечатков некоторых структур которые комбинируются между собой... А для упрощения расчетов пришли к способу который расчитывается легко по формуле, но промежуточные значения очень велики, следовательно нужно написать модуль который умеет работать с длинной арифметикой... Т.е. нужны следующие функции: +, -, *, /, ^ ну и перевод из строки в численный-массив и обратно... Последнее нужно для проверок. Первые 3 операции над числами реализовать не трудно, а вот в реализации остальных есть необходимость в помощи. Т.е. для меня не сложно все это сделать и самому, но ищу более оптимальные решения.
          Navi1982
          Цитата
          Следовательно буду ждать других идей и предложений.
          Почему бы не использовать уже готовые решения в мат.пакетах типа Maple, Mathematica? Есть уверенность в том, что по скорости вычислений наверняка не сможешь обойти тамошние алгоритмы хранения и оперирования над хранимыми данными и т.д.
            Цитата Navi1982 @
            А для упрощения расчетов пришли к способу который расчитывается легко по формуле, но промежуточные значения очень велики, следовательно нужно написать модуль который умеет работать с длинной арифметикой..

            Подозрительный алгоритм :) Похоже, требуется его доработка.
              NetVir, ух ты! А можно ссылочку? И хотябы в двух словах объяснить какие функции мне оттуда нужны? Но, в любом случае спасибо.

              Romkin, а что подозрительного тебе тут кажется? Обыкновенная математика и ничего более, разве что числа громадные.
              Сообщение отредактировано: Navi1982 -
                Цитата Navi1982 @
                Люди, кто знает как работает алгоритм функции StrToInt?

                Вообще-то, числа преобразуются из строкового представления в двоичное и обратно по методу сдвига и коррекции. Гугль в помощь.
                  Bug Hunter, ты меня послал в google и я вернулся с другой задачей... Нарыл там такой сайт gmplib.org
                  вобщем я так понял, что там есть все необходимые мне функции... Единственное что я не понял, так это как эту либу прикрутить в дельфи?
                    Цитата Navi1982 @
                    Romkin, а что подозрительного тебе тут кажется? Обыкновенная математика и ничего более, разве что числа громадные.

                    Если на входе алгоритма немного даных и на выходе - тоже, то в процессе возникновение больших структур подозрительно. Количество информации-то примерно постоянно.
                      Цитата Navi1982 @
                      Bug Hunter, ты меня послал в google и я вернулся с другой задачей... Нарыл там такой сайт gmplib.org
                      вобщем я так понял, что там есть все необходимые мне функции... Единственное что я не понял, так это как эту либу прикрутить в дельфи?

                      Я имел в виду найти описание алгоритма и реализовать его самостоятельно - там делов то...
                        Нуу, Romkin, самому то хоть не смешно что сказал?! Ладно, для наглядности привожу пример:

                        n=10
                        f=(n+100*n!)div(n^5) - это у нас будет функция

                        вычислим поэтапно:
                        (1) n! = 3628800 //раз промежуточный
                        (2) 100*(1) = 362880000 //два промежуточный
                        (3) n+(2) = 362880010 //и еще раз увеличился
                        (4) n^5 = 100000 //другой промежуточный
                        (5) (3)div(4) = 362880010 div 100000 = 3628 //бац! и уменьшился результат в разы!

                        Подозрения еще остались?! Помоги если есть мысли, а раз мыслей нет, то пиши когда будут, ок?
                          Int64: -2^63...2^63-1 ?????

                          Даже integer хватает для твоего примера.
                          Сообщение отредактировано: osmiy74 -
                            Bug Hunter, тогда помоги найти такой алгоритм, например преобразование из n-base системы в m-base систему используя функции 10-base системы - это в общих чертах... А если быть конкретнее, то подкинь пожалуста идею как преобразовать число 10-базы в число 2^32-базы (или 65536-базы, или 256-базы) используя при этом методы 10-базы учитывая возможности Delphi... Очень нужно... хотябы просто последовательностью общих мыслей. Спасибо.
                                Navi1982
                                Цитата Navi1982 @
                                NetVir, ух ты! А можно ссылочку? И хотябы в двух словах объяснить какие функции мне оттуда нужны? Но, в любом случае спасибо.

                                Все гуглится
                                http://www.wolfram.com/products/mathematica/index.html
                                http://ru.wikipedia.org/wiki/Mathematica
                                http://www.maplesoft.com/
                                http://ru.wikipedia.org/wiki/Maple

                                Добавлено
                                Добавлю, что и в первом и во втором пакетах есть исключительная и полностью исчерпывающая справочная система. Все твои задачи, думаю, можно будет переписать в пару тройку строк кода. Хотя... ;)
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:
                                Страницы: (9) 1 [2] 3 4 ...  8 9 все


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0398 ]   [ 16 queries used ]   [ Generated: 12.05.24, 14:51 GMT ]