Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.037 c
6-1144755402
MadSnake
2006-04-11 15:36
2006.08.27
список подключений


1-1153160195
Pashka.cool
2006-07-17 22:16
2006.08.27
Как из одного приложения определять контролы другого, на клик мыш


1-1152862358
serg_iv
2006-07-14 11:32
2006.08.27
директория программы по умолчанию


6-1144603398
Izolda
2006-04-09 21:23
2006.08.27
Поисковая система


15-1146670466
es
2006-05-03 19:34
2006.08.27
Конвертер аудио





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский