Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2009, 02:33   #1
roach1967
Пользователь
 
Регистрация: 21.02.2009
Сообщений: 28
По умолчанию Обработка чисел с разрядностью, превышающую Extended

Доброго времени суток.
Возникла потребность с обработкой чисел с разрядностью, превышающую разрядность вещественных чисел типа Extended.
Пока додумался до такого: определяется число multidigit типа байтового массива длиной (допустим) 1000 десятичных цифр + порядок числа. Сложение, вычитание, умножение и деление производится столбиком, как в младших классах (не в самом деле столбиком но принцип полностью повторяет действия при операциях в столбик), после этого производится вычисление/коррекция порядка результата. Но это жутко медленно!
Вот здесь вроде есть про большие разрядности, но я не силён в СИ.
Код совершенно не обязателен, можно только алгоритм (привязанный к Delphi или ассемблеру).
В какой-то книжке встречал похожий алгоритм на ассемблере, там число состояло из двух extended чисел, но сейчас этой книжки нет, да и разрядность (18+18=36 десятичных знаков или около этого) не особо сильно увеличивается.
В споре рождается истина.
roach1967 вне форума Ответить с цитированием
Старый 02.03.2009, 02:42   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

roach1967 Как я понимаю, вам нужны алгоритмы длинной арифметики.
Кое-что есть, например, здесь: http://algolist.manual.ru/maths/longnum.php

Также в поисковике по запросу "Длинная арифметика" или "Длинные числа".
Чтобы работало быстрее, можно хранить в элементе не одну цифру, а, скажем, 4.

Существуют готовые реализации на разных языках.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Error] Unit1.pas(40): Incompatible types: 'Integer' and 'Extended BETONOMESHALKA Общие вопросы Delphi 9 15.03.2014 17:26
Обработка строки Staxxx Общие вопросы C/C++ 2 03.01.2009 12:30
Integer and Extended,в чем дело? Ciberal Общие вопросы Delphi 3 31.10.2008 19:06
Обработка изображения Hollander Мультимедиа в Delphi 6 10.03.2008 14:21
вычисление суммы чисел, кратных 3 из последовательности, состоящей из 10 чисел, заранее заданных Белка Помощь студентам 3 27.10.2007 11:53