![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как избавиться от представления чисел в виде *...*Е*..*? [D7, Win95/98]
BVV © (2006-08-04 17:00:00)Как избавиться от представления чисел в виде *...*Е*..*?
Пример. Возвожу 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 18:42:00) [1]http://www.submanifold.be/
Jeer (2006-08-04 18:41:00) [2]Q^x
где q и x целые числа - обычная операция для криптодел.
Desdechado (2006-08-04 18:37:00) [3]Ламерский вопрос - а зачем там арифметические операции?
Сдвигами и побитовыми обойтись нельзя?
Jeer (2006-08-04 18:35:00) [4]BVV (04.08.06 18:26) [8]
Тогда ищи в Инете модули/библиотеки для работы с целыми длинными числами.
Они есть.
Например, FGint.
Это если самому лениво.
DrPass (2006-08-04 18:30:00) [5]Точность типа Extended - 18-19 значащих цифр. Точнее компьютер не может считать физически. По крайней мере, без использования специализированных алгоритмов, когда большие числа вычисляются "по частям"
BVV (2006-08-04 18:26:00) [6]Реализовать алгоритм шифрования RSA. В основном прога работает правильно но при больших значениях глючит.
Jeer (2006-08-04 18:24:00) [7]Контр-вопрос - а зачем ?
Т.е. цель таких точных вычислений есть что ?
BVV (2006-08-04 18:15:00) [8]Понял. ТОгда встречный вопрос а как "сотворить собственный формат длинных чисел" ?
Jeer (2006-08-04 17:42:00) [9]
> Вернее как заставить мою прогу работать с полными числами,
Это было желаемое.
Desdechado (2006-08-04 17:33:00) [10]само собой.
я ж указал, на что я отвечаю...
Jeer (2006-08-04 17:30:00) [11]Desdechado © (04.08.06 17:19) [2]
Увы, но не поможет получить желаемое число значащих цифр.
Desdechado (2006-08-04 17:19:00) [12]> Как избавиться от Е
Использовать функцию Format
Jeer (2006-08-04 17:07:00) [13]Видишь ли, какое дело, калькулятор калькулятору - рознь.
В языковых реализациях же предсмотрены всего несколько стандартных типов данных, число значащих цифр в которых ограничено принятым для этого типа форматом.
Поэтому - либо умерь свои возжелания, либо сотвори собственный формат длинных чисел, за вычисления и визуалиазацию в базисе которого именно ты несешь ответственность.