![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 31.08.2010
Сообщений: 40
|
![]()
Ломаю голову почему код не работает... выдает ошибку "деление на ноль" на строке t:= n mod (q*64*64);
Код:
Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
![]()
Это связано с особенностью старых компиляторов. Для них это равносильно умножению 2-х байтового числа q на два однобайтовых числа 64 и 64 и помещение их в приёмник разрядности равной максимуму из разрядностей умножаемых чисел (то есть всё запишется в 2-хбайтовый тип, произойдёт переполнение и только потом передастся в тип real)
Выход: либо явно указываем подходящий тип, например, longint (для констант подбирается максимально большой исходя из их представления), либо разбиваем на действия. Новые компиляторы этот случай могут обрабатывать сами Последний раз редактировалось eoln; 31.10.2010 в 00:32. |
![]() |
![]() |
![]() |
#3 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]()
пробуй
Код:
I'm learning to live...
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
![]()
Stilet, скорее не t: double;, а q : longint;, ибо проблема только в правой части выражения t:= n mod (q*64*64);
P.S. ТС, переходи на delphi Последний раз редактировалось eoln; 01.11.2010 в 15:45. |
![]() |
![]() |
![]() |
#5 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#6 |
C++, Java
Старожил
Регистрация: 10.04.2010
Сообщений: 2,665
|
![]()
Лучше вообще юзать Extended и int64.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Операторы цикла | Asira | Помощь студентам | 0 | 21.12.2009 00:04 |
операторы цикла | semennn | Помощь студентам | 5 | 19.05.2009 17:44 |
Операторы цикла. | Paul Oakenfold | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 14.04.2009 20:07 |
Операторы цикла | Paul Oakenfold | Помощь студентам | 10 | 23.03.2009 16:08 |