Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Есть вопрос. Большие числа.


Страницы:   1 2

AlexDan ©   (2008-03-31 21:23:00) 

Есть вопрос. Большие числа. В модуле UMathServices.pas (для работы с длинными числами) и ему подобных числа ( и результаты экспортных функций) рассматриваются как строки. Значит в дальнейшем их использование исключает работу с циклами (например While и т.п.). Как выйти из данной ситуации? Тут видимо нужны специальные алгоритмические подходы? Может кто с этим сталкивался?


palva   (2008-04-01 20:16:00) [1]

> Бывало личное ПО работало сутками.
Тогда зачем вы пользуетесь текстовым представлением числа? Общепринятое представление больших целых ускорило бы вычисления на пару порядков.


AlexDan   (2008-04-01 20:05:00) [2]

> Семеныч   (01.04.08 06:17) [16]
> Вдогонку.
И ещё вдогонку. Семёныч, Вы почему не зарегистрированны?? Как говориться автора на сцену. Да здравствует личная переписка!


AlexDan   (2008-04-01 20:02:00) [3]

> Семеныч   (01.04.08 06:17) [16]
> Вдогонку.
То же что и предыдущему.


AlexDan   (2008-04-01 19:59:00) [4]

> Jeer ©
> Я точно знаю - человек считает динамику движения атомов
> во Вселенной.
Ничего подобного. В теории чисел иногда нужно прибегать к значительным вычислениям(к тому-же точным). У меня есть некоторые гипотезы насчёт простых чисел. Бывало личное ПО работало сутками.   Delphi дает точность max 18 знаков. Это очень мало. В форуме я уже не раз этот вопрос затрагивал.


Anatoly Podgoretsky   (2008-04-01 12:07:00) [5]

> AlexDan  (01.04.2008 1:30:12)  [12]

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


Jeer   (2008-04-01 09:22:00) [6]

Я точно знаю - человек считает динамику движения атомов во Вселенной.


Семеныч   (2008-04-01 06:17:00) [7]

Вдогонку.

PPS
Говоря о точности, стоит подумать и о том, какую точность имеют исходные данные. И если их точность - N знаков, то зачем считать с точностью выше N+2 знаков? Ведь плата (скоростью и памятью) за использование специальных типов данных вместо "родных" поистине огромна, а есть ли в ней смысл?


Семеныч   (2008-04-01 06:10:00) [8]

> AlexDan ©   (01.04.08 01:30) [12]

Процент расчетных программ в их общем числе не очень высок, а процент расчетных программ, для которых недостаточно точности и/или диапазона Extended, вообще исчезающе мал. Поэтому нет никакого смысла повышать цену продукта, включая в него модули для работы с такими числами и заведомо зная, что использовать эти модули будут лишь единицы.

Для таких единиц существуют специальные библиотеки, которые никто не мешает приобрести. И если это действительно серьезная библиотека, то, как справедливо замечено в [14], в ней должны быть полный набор функций для выполнения всех элементарных операций.

И если какие-то элементарные операции в библитеке не реализованы, то воля Ваша, но лично я бы пользоваться такой библиотекой не стал. Потому что возникают подозрения, что писана она не профессионалом (который обязательно предусмотрел бы в ней все), а пионером Васей Пупкиным на собственной коленке - то есть, имеются основания такому продукту не доверять.

PS
Кстати, еще не факт, что для Вашей программы не годится "родной" тип Extended. Если не устраивает его диапазон (3.6е-4951...1.1е4932), то часто бывает достаточно просто отмасштабировать задачу. Если же не устраивает его точность (19-20 десятичных знаков), то стоит задуматься о том, а обеспечивает ли используемый метод расчета даже такую точность?


Slym   (2008-04-01 04:34:00) [9]

AlexDan ©   (31.03.08 21:23)
Если модуль объявляет новый неведомый тип, то он должен предоставить функции для работы с этим типом... в том числе функции присваивания и сравнения... если это не так: фтопку модуль


Германн   (2008-04-01 01:36:00) [10]


> AlexDan ©   (01.04.08 01:30) [12]
>
> И ещё кстати:
> > Palladin ©
> > Борланду нафиг не нужна поддержка в RTL астрономических
> > величин.
> Досадно, и видимо это достаточно общая тенденция, что серьёзные
> програмы минимизируют  научную (или даже сказать продуктивную)
> отдачу, доводя до максимума графическую (или пользовательскую).
>  Т.е. занимаются прорисовкой точечек, и всякой прочей дребеденью.
>  Самый известный всем пример это почти весь Майкрософт да
> и вобще примеров масса.
>

И ещё кстати. Серьёзные программы создаются либо для массового пользователя, либо для конкретного пользователя, который может и оплатить трудозатраты и принести прибыль. И тут уж никуда не попрёшь! Ну разве только в "розовых снах".


AlexDan   (2008-04-01 01:30:00) [11]

И ещё кстати:
> Palladin ©
> Борланду нафиг не нужна поддержка в RTL астрономических
> величин.
Досадно, и видимо это достаточно общая тенденция, что серьёзные програмы минимизируют  научную (или даже сказать продуктивную) отдачу, доводя до максимума графическую (или пользовательскую). Т.е. занимаются прорисовкой точечек, и всякой прочей дребеденью. Самый известный всем пример это почти весь Майкрософт да и вобще примеров масса.


AlexDan   (2008-04-01 01:19:00) [12]

В моём случае я пользовался несколько другим методом.


Германн   (2008-04-01 00:49:00) [13]


> Palladin ©   (31.03.08 23:28) [9]
>
>

Достаточно одной "ф".
(с) Сам знаешь какой. :)


Palladin   (2008-03-31 23:28:00) [14]


>  По моему тут поэлементно (как к массиву) не получится.

Таких не берут в космонаффты...


Сергей М.   (2008-03-31 22:05:00) [15]


> поэлементно (как к массиву) не получится


Почему ?

MyString[i] как раз и есть "поэлементно".


> в массивах разное количество членов


Это никоим образом не мешает "членосравнению", если тобой правильно сопоставляются индексы сравниваемых "членов")


AlexDan   (2008-03-31 21:58:00) [16]

Ведь в массивах разное количество членов.


AlexDan   (2008-03-31 21:57:00) [17]

Например нужно сравнить два числа (каждое больше Double и т.п.) По моему тут поэлементно (как к массиву) не получится.


Сергей М.   (2008-03-31 21:44:00) [18]


> числа .. рассматриваются
> как строки. Значит в дальнейшем их использование исключает
> работу с циклами


Это почему же ?
Любую строку можно рассматривать как массив (или, если угодно, список) символов.
И к массиву и к списку (точнее, к их элементам) можно обращаться итеративно в цикле.


AlexDan   (2008-03-31 21:37:00) [19]

Он один или несколько? Если честно я нашел один (через if и метки), но в циклах (тем более больших) чем меньше операторов тем лучше. (Быстродействие).


Palladin   (2008-03-31 21:30:00) [20]

Конечно алгоритмический. Борланду нафиг не нужна поддержка в RTL астрономических величин.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо