Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.27;
Скачать: CL | DM;

Вниз

Как избавиться от представления чисел в виде *...*Е*..*?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.035 c
2-1154670842
Генадий
2006-08-04 09:54
2006.08.27
Dspack


2-1155149113
ArtemESC
2006-08-09 22:45
2006.08.27
Наследование...


3-1150877258
Mishenka
2006-06-21 12:07
2006.08.27
Запись файла нулевой длины


11-1131195038
igi
2005-11-05 15:50
2006.08.27
свойство flat не работает


15-1154455799
grisme
2006-08-01 22:09
2006.08.27
Прилеплялка WinAMP :)