Главная страница
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.049 c
2-1154950938
webpauk
2006-08-07 15:42
2006.08.27
TstringList.AddObject


15-1154121779
Kolan
2006-07-29 01:22
2006.08.27
Как "запихать" в голову много книг...


2-1154729045
Петюха
2006-08-05 02:04
2006.08.27
Отправка писем


2-1154503790
Ivan Chuvashov
2006-08-02 11:29
2006.08.27
exe фаил


1-1152690008
safo
2006-07-12 11:40
2006.08.27
Существуют ли для Delphi модули регулярных выражений?