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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.03.2013, 08:32   #1
ololo23
Пользователь
 
Регистрация: 11.03.2013
Сообщений: 14
По умолчанию Проблема с числом

Вообшем если постоянно умножать число на число (9*9*9*9) то в конце концов выйдет ошибка как ее поправить?
Изображения
Тип файла: jpg Безымянный.jpg (46.9 Кб, 151 просмотров)
ololo23 вне форума Ответить с цитированием
Старый 14.03.2013, 08:40   #2
Прик
Форумчанин
 
Регистрация: 08.09.2010
Сообщений: 880
По умолчанию

Никак.
Overflow - переполнение. Не выдерживает комп ваших экспериментов.
Можно, конечно, найти калькулятор с "длинной арифметикой", но
"...если постоянно умножать...", то и длинная арифметика не спасет.
Прик вне форума Ответить с цитированием
Старый 14.03.2013, 09:08   #3
Kix.IV
Участник клуба
 
Регистрация: 11.08.2012
Сообщений: 1,226
По умолчанию

Цитата:
то и длинная арифметика не спасет.
А почему? Правильно реализованная, спасёт. Ведь она ограничена лишь памятью компьютера.
Kix.IV вне форума Ответить с цитированием
Старый 14.03.2013, 09:16   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Ведь она ограничена лишь памятью компьютера.
Прик наверное имел ввиду что это не спасет автора от низачета )
Цитата:
ololo23
Даже весьма крутые инженерные кальки не всегда поддерживают длинную арифметику. Не гонись за ней, лучше наполни побольше разнообразного функционала, полезного инженерам.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.03.2013, 09:17   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ololo23
воспользуйтесь типом данных Extended
думаю, что диапазона
Цитата:
3.6 x 10^–4951 .. 1.1 x 10^4932
вам должно хватить на первое время...
по крайней мере на зачёте замучаются писать 9*9*9*9*9...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.03.2013, 09:19   #6
superedward
Форумчанин
 
Аватар для superedward
 
Регистрация: 27.11.2012
Сообщений: 190
По умолчанию

Наверное автор имел в виду, что выводить сообщение о переполнении вместо ошибки. Обрабатывайте результат в конструкции try... except... end
superedward вне форума Ответить с цитированием
Старый 14.03.2013, 13:00   #7
ololo23
Пользователь
 
Регистрация: 11.03.2013
Сообщений: 14
По умолчанию

Всем спасибо. Все понял.
ololo23 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с числом (паскаль) Вишня Помощь студентам 1 19.10.2012 11:17
Является ли число числом? Babayka94 Помощь студентам 7 19.06.2012 22:02
С++ с натур числом Вика I Помощь студентам 10 03.10.2011 18:09
Проблема с числом записи в тексте! VintProg Общие вопросы Delphi 4 30.05.2011 09:25
математические действия с числом pionerka Помощь студентам 8 23.02.2010 14:37