Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2014, 17:08   #1
Bilymo
Пользователь
 
Регистрация: 25.09.2009
Сообщений: 15
По умолчанию Нахождение остатка от деления, от большого числа

Здравствуйте дорогие форумчане!!! Дело в том, что при возведении числа в большую степень(число в степени 512) и нахождения остатка от деления приводит к ошибке: Invalid floating point operation.

Код:
<...>
var
k,q,l,ff,k1:longint;
  w,u:extended;
  x1:extended;
 
//x1:=1111; k1:=512;
 
     w:=trunc(exp(ln(x1)*k1)) mod 931; //round пробовал, то же не помогает :(
     form1.Memo4.Lines.Add(inttostr(w));

Последний раз редактировалось Stilet; 13.03.2014 в 17:27.
Bilymo вне форума Ответить с цитированием
Старый 13.03.2014, 17:25   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ух ты, 1111^512 это число примерно с 1500 нулями. Нетрудно сообразить, что результат ни в какой extended не уместится. Только реализация длиной арифметики
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 13.03.2014, 18:02   #3
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Цитата:
Ух ты, 1111^512 это число примерно с 1500 нулями
Самое смешное, что в результате всего этого безобразия нужен остаток от деления на мизерное 931.
northener вне форума Ответить с цитированием
Старый 13.03.2014, 20:56   #4
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Остаток от деления какого числа на какое?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 13.03.2014, 20:57   #5
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

mod(a*b,x) =mod(mod(a,x) *mod(b,x), x)
остаток произведения =произведение остатков (почти!)
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Остаток от деления и занесение остатка в массив на Ассемблере samnic Помощь студентам 0 25.12.2013 20:54
рекурсивное определение остатка от деления на языке си artscorp Общие вопросы C/C++ 5 15.09.2013 21:41
Деление многочленов. Нахождение остатка @Manya@ Общие вопросы C/C++ 2 05.05.2010 11:36
Нахождение остатка от деления очень больших чисел Pavel_Ine Общие вопросы C/C++ 6 22.11.2009 20:49
Как узнать что число не Float(без остатка) при результате деления? zotox Помощь студентам 7 19.07.2009 15:49