Текущий архив: 2008.10.05;
Скачать: CL | DM;
Вниз
работа с 20-значными числами Найти похожие ветки
← →
aidyn (2008-08-29 12:46) [0]Возникла необходимость проводить операции с 20-значными(а то и больше) числами. столкнулся с проблемой. что даже самый большой тип данных в дельфи не позволяет с ними оперировать. Точнее позволяет, но отсекает несколько последних цифр и приводит к такому виду 1,23423534535345Е21.
конечно же это уже другая цифра. как мне быть?
← →
Vlad Oshin © (2008-08-29 12:53) [1]начинайте работать с маленькими по модулю значениями
← →
Slym © (2008-08-29 12:54) [2]aidyn (29.08.08 12:46)
если целочисленная математика то FGInt,HugeInt или родной TBCD (не советую)
← →
aidyn (2008-08-29 13:02) [3]
> если целочисленная математика то FGInt,HugeInt или родной
> TBCD (не советую)
> начинайте работать с маленькими по модулю значениями
можно поподробнее пожалуйста
← →
Anatoly Podgoretsky © (2008-08-29 13:03) [4]> aidyn (29.08.2008 12:46:00) [0]
Нужна внешняя поддержка больших чисел, хватит поддержки 128 бит
← →
Юрий Зотов © (2008-08-29 13:10) [5]> aidyn (29.08.08 12:46)
> самый большой тип данных в дельфи не позволяет с ними оперировать.
> Точнее позволяет, но отсекает несколько последних цифр и приводит к
> такому виду 1,23423534535345Е21.
В приведенном Вами примере числа содержится 15 значащих цифр, что соответствует типу Double. Но в Delphi это НЕ самый большой тип чисел с плавающей точкой. Самый большой - это Extended и он дает 19-20 значащих цифр. Возможно, этого будет достаточно.
Честно говоря, затрудняюсь придумать пример, в котором действительно требовалась бы точность в 20 знаков и более. Как правило, числа с плавающей точкой используются в тех или иных численных методах, где погрешность САМОГО метода ПРИНЦИПИАЛЬНО не позволяет получить 20 и более точных знаков. Это означает, что младшие разряды в любом случае будут содержать "мусор", хранить который совершенно незачем.
← →
Anatoly Podgoretsky © (2008-08-29 13:38) [6]А у него даже не 20, а 21 знак
← →
ZiZi (2008-08-29 17:16) [7]Старый добрый массив и собственные функции умножения/деления, вычитания/сложения. Низкий уровень программирования - это выход.
> Честно говоря, затрудняюсь придумать пример, в котором действительно
> требовалась бы точность в 20 знаков и более. Как правило,
> числа с плавающей точкой используются в тех или иных численных
> методах, где погрешность САМОГО метода ПРИНЦИПИАЛЬНО не
> позволяет получить 20 и более точных знаков. Это означает,
> что младшие разряды в любом случае будут содержать "мусор",
> хранить который совершенно незачем.
--В принципе поддерживаю, но только если сильно надо - флаг в руки и вперёд на низкий уровень.
← →
antonn © (2008-08-29 20:41) [8]
> aidyn (29.08.08 12:46)
http://kladovka.net.ru/index.cgi?pid=list&rid=53
> ZiZi (29.08.08 17:16) [7]
> на низкий уровень
понравилось словосочетание, красиво звучит, да? %)
← →
Amoeba © (2008-08-29 21:44) [9]Господа, а куда пропал наш супер-глубокоуважаемый АВТОР в больших буквах? Где каскад благодарностей?
Страницы: 1 вся ветка
Текущий архив: 2008.10.05;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.005 c