Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как избавиться от представления чисел в виде *...*Е*..*? [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]

Видишь ли, какое дело, калькулятор калькулятору - рознь.
В языковых реализациях же предсмотрены всего несколько стандартных типов данных, число значащих цифр в которых ограничено принятым для этого типа форматом.

Поэтому - либо умерь свои возжелания, либо сотвори собственный формат длинных чисел, за вычисления и визуалиазацию в базисе которого именно ты несешь ответственность.


Наверх

Титульная страница Поиск, карта сайта Написать письмо