Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];
ВнизКак избавиться от представления чисел в виде *...*Е*..*? Найти похожие ветки
← →
BVV (2006-08-04 17:00) [0]Как избавиться от представления чисел в виде *...*Е*..*?
Пример. Возвожу 3 в 51 степень. На калькуляторе получаем 2153693963075557766310747, а в моя прога выдает 2,15369396307556E24. То есть грубо говоря 215369396307555 округляется до 215369396307556. Как избавиться от Е. Вернее как заставить мою прогу работать с полными числами, потому как результат подсчитанный на калькуляторе отличается от выданного моей прогой.
var
Rezult, Osnovanie, Osnovanie : extended;
k: integer;
begin
Rezult := 1;
Osnovanie := 3;
Osnovanie := 51;
For k:=1 to Stepeni do
begin
Rezult := Rezult * Osnovanie;
end;
← →
Jeer © (2006-08-04 17:07) [1]Видишь ли, какое дело, калькулятор калькулятору - рознь.
В языковых реализациях же предсмотрены всего несколько стандартных типов данных, число значащих цифр в которых ограничено принятым для этого типа форматом.
Поэтому - либо умерь свои возжелания, либо сотвори собственный формат длинных чисел, за вычисления и визуалиазацию в базисе которого именно ты несешь ответственность.
← →
Desdechado © (2006-08-04 17:19) [2]> Как избавиться от Е
Использовать функцию Format
← →
Jeer © (2006-08-04 17:30) [3]Desdechado © (04.08.06 17:19) [2]
Увы, но не поможет получить желаемое число значащих цифр.
← →
Desdechado © (2006-08-04 17:33) [4]само собой.
я ж указал, на что я отвечаю...
← →
Jeer © (2006-08-04 17:42) [5]
> Вернее как заставить мою прогу работать с полными числами,
Это было желаемое.
← →
BVV (2006-08-04 18:15) [6]Понял. ТОгда встречный вопрос а как "сотворить собственный формат длинных чисел" ?
← →
Jeer © (2006-08-04 18:24) [7]Контр-вопрос - а зачем ?
Т.е. цель таких точных вычислений есть что ?
← →
BVV (2006-08-04 18:26) [8]Реализовать алгоритм шифрования RSA. В основном прога работает правильно но при больших значениях глючит.
← →
DrPass © (2006-08-04 18:30) [9]Точность типа Extended - 18-19 значащих цифр. Точнее компьютер не может считать физически. По крайней мере, без использования специализированных алгоритмов, когда большие числа вычисляются "по частям"
← →
Jeer © (2006-08-04 18:35) [10]BVV (04.08.06 18:26) [8]
Тогда ищи в Инете модули/библиотеки для работы с целыми длинными числами.
Они есть.
Например, FGint.
Это если самому лениво.
← →
Desdechado © (2006-08-04 18:37) [11]Ламерский вопрос - а зачем там арифметические операции?
Сдвигами и побитовыми обойтись нельзя?
← →
Jeer © (2006-08-04 18:41) [12]Q^x
где q и x целые числа - обычная операция для криптодел.
← →
Jeer © (2006-08-04 18:42) [13]http://www.submanifold.be/
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.039 c