Текущий архив: 2008.04.27;
Скачать: CL | DM;
Вниз
Есть вопрос. Большие числа. Найти похожие ветки
← →
AlexDan © (2008-03-31 21:23) [0]Есть вопрос. Большие числа. В модуле UMathServices.pas (для работы с длинными числами) и ему подобных числа ( и результаты экспортных функций) рассматриваются как строки. Значит в дальнейшем их использование исключает работу с циклами (например While и т.п.). Как выйти из данной ситуации? Тут видимо нужны специальные алгоритмические подходы? Может кто с этим сталкивался?
← →
Palladin © (2008-03-31 21:25) [1]Ну я сталкивался и что дальше?
← →
AlexDan © (2008-03-31 21:27) [2]Видимо выход алгоритмический (или есть стандартные компоненты)?
← →
Palladin © (2008-03-31 21:30) [3]Конечно алгоритмический. Борланду нафиг не нужна поддержка в RTL астрономических величин.
← →
AlexDan © (2008-03-31 21:37) [4]Он один или несколько? Если честно я нашел один (через if и метки), но в циклах (тем более больших) чем меньше операторов тем лучше. (Быстродействие).
← →
Сергей М. © (2008-03-31 21:44) [5]
> числа .. рассматриваются
> как строки. Значит в дальнейшем их использование исключает
> работу с циклами
Это почему же ?
Любую строку можно рассматривать как массив (или, если угодно, список) символов.
И к массиву и к списку (точнее, к их элементам) можно обращаться итеративно в цикле.
← →
AlexDan © (2008-03-31 21:57) [6]Например нужно сравнить два числа (каждое больше Double и т.п.) По моему тут поэлементно (как к массиву) не получится.
← →
AlexDan © (2008-03-31 21:58) [7]Ведь в массивах разное количество членов.
← →
Сергей М. © (2008-03-31 22:05) [8]
> поэлементно (как к массиву) не получится
Почему ?
MyString[i] как раз и есть "поэлементно".
> в массивах разное количество членов
Это никоим образом не мешает "членосравнению", если тобой правильно сопоставляются индексы сравниваемых "членов")
← →
Palladin © (2008-03-31 23:28) [9]
> По моему тут поэлементно (как к массиву) не получится.
Таких не берут в космонаффты...
← →
Германн © (2008-04-01 00:49) [10]
> Palladin © (31.03.08 23:28) [9]
>
>
Достаточно одной "ф".
(с) Сам знаешь какой. :)
← →
AlexDan © (2008-04-01 01:19) [11]В моём случае я пользовался несколько другим методом.
← →
AlexDan © (2008-04-01 01:30) [12]И ещё кстати:
> Palladin ©
> Борланду нафиг не нужна поддержка в RTL астрономических
> величин.
Досадно, и видимо это достаточно общая тенденция, что серьёзные програмы минимизируют научную (или даже сказать продуктивную) отдачу, доводя до максимума графическую (или пользовательскую). Т.е. занимаются прорисовкой точечек, и всякой прочей дребеденью. Самый известный всем пример это почти весь Майкрософт да и вобще примеров масса.
← →
Германн © (2008-04-01 01:36) [13]
> AlexDan © (01.04.08 01:30) [12]
>
> И ещё кстати:
> > Palladin ©
> > Борланду нафиг не нужна поддержка в RTL астрономических
> > величин.
> Досадно, и видимо это достаточно общая тенденция, что серьёзные
> програмы минимизируют научную (или даже сказать продуктивную)
> отдачу, доводя до максимума графическую (или пользовательскую).
> Т.е. занимаются прорисовкой точечек, и всякой прочей дребеденью.
> Самый известный всем пример это почти весь Майкрософт да
> и вобще примеров масса.
>
И ещё кстати. Серьёзные программы создаются либо для массового пользователя, либо для конкретного пользователя, который может и оплатить трудозатраты и принести прибыль. И тут уж никуда не попрёшь! Ну разве только в "розовых снах".
← →
Slym © (2008-04-01 04:34) [14]AlexDan © (31.03.08 21:23)
Если модуль объявляет новый неведомый тип, то он должен предоставить функции для работы с этим типом... в том числе функции присваивания и сравнения... если это не так: фтопку модуль
← →
Семеныч (2008-04-01 06:10) [15]> AlexDan © (01.04.08 01:30) [12]
Процент расчетных программ в их общем числе не очень высок, а процент расчетных программ, для которых недостаточно точности и/или диапазона Extended, вообще исчезающе мал. Поэтому нет никакого смысла повышать цену продукта, включая в него модули для работы с такими числами и заведомо зная, что использовать эти модули будут лишь единицы.
Для таких единиц существуют специальные библиотеки, которые никто не мешает приобрести. И если это действительно серьезная библиотека, то, как справедливо замечено в [14], в ней должны быть полный набор функций для выполнения всех элементарных операций.
И если какие-то элементарные операции в библитеке не реализованы, то воля Ваша, но лично я бы пользоваться такой библиотекой не стал. Потому что возникают подозрения, что писана она не профессионалом (который обязательно предусмотрел бы в ней все), а пионером Васей Пупкиным на собственной коленке - то есть, имеются основания такому продукту не доверять.
PS
Кстати, еще не факт, что для Вашей программы не годится "родной" тип Extended. Если не устраивает его диапазон (3.6е-4951...1.1е4932), то часто бывает достаточно просто отмасштабировать задачу. Если же не устраивает его точность (19-20 десятичных знаков), то стоит задуматься о том, а обеспечивает ли используемый метод расчета даже такую точность?
← →
Семеныч (2008-04-01 06:17) [16]Вдогонку.
PPS
Говоря о точности, стоит подумать и о том, какую точность имеют исходные данные. И если их точность - N знаков, то зачем считать с точностью выше N+2 знаков? Ведь плата (скоростью и памятью) за использование специальных типов данных вместо "родных" поистине огромна, а есть ли в ней смысл?
← →
Jeer © (2008-04-01 09:22) [17]Я точно знаю - человек считает динамику движения атомов во Вселенной.
← →
Anatoly Podgoretsky © (2008-04-01 12:07) [18]> AlexDan (01.04.2008 1:30:12) [12]
Если человеку нужно, что то особенное, то он всегда может купить внешнею библиотеку или заказать разработку, которых многие, многие тысячи. Но и Борланд готов осуществить ваш каприз, были бы деньги, а если денег нет, то и библиотеки нет.
← →
AlexDan © (2008-04-01 19:59) [19]> Jeer ©
> Я точно знаю - человек считает динамику движения атомов
> во Вселенной.
Ничего подобного. В теории чисел иногда нужно прибегать к значительным вычислениям(к тому-же точным). У меня есть некоторые гипотезы насчёт простых чисел. Бывало личное ПО работало сутками. Delphi дает точность max 18 знаков. Это очень мало. В форуме я уже не раз этот вопрос затрагивал.
← →
AlexDan © (2008-04-01 20:02) [20]> Семеныч (01.04.08 06:17) [16]
> Вдогонку.
То же что и предыдущему.
← →
AlexDan © (2008-04-01 20:05) [21]> Семеныч (01.04.08 06:17) [16]
> Вдогонку.
И ещё вдогонку. Семёныч, Вы почему не зарегистрированны?? Как говориться автора на сцену. Да здравствует личная переписка!
← →
palva © (2008-04-01 20:16) [22]> Бывало личное ПО работало сутками.
Тогда зачем вы пользуетесь текстовым представлением числа? Общепринятое представление больших целых ускорило бы вычисления на пару порядков.
Страницы: 1 вся ветка
Текущий архив: 2008.04.27;
Скачать: CL | DM;
Память: 0.53 MB
Время: 0.02 c