Главная страница
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.03 c
3-1150885250
MsGuns
2006-06-21 14:20
2006.08.27
Максимальная скорость загрузки данных в таблицу


2-1154608817
dimdnepr
2006-08-03 16:40
2006.08.27
Компонент TQuickRep


2-1154882574
Adios
2006-08-06 20:42
2006.08.27
treeview


15-1154078672
Ketmar
2006-07-28 13:24
2006.08.27
я туп в интерфейсах %-(


3-1150725870
Olegas
2006-06-19 18:04
2006.08.27
Плагины в bpl и заморочки с TTable