0 / 0 / 1
Регистрация: 26.03.2011
Сообщений: 85
|
|
1 | |
Обработка исключений09.06.2013, 17:00. Показов 2052. Ответов 15
Метки нет Все метки)
(
Уважаемые админы. Знаю, что о помощи надо просить, когда имеются хоть какие-то наработки. К сожалению, тему исключений мало разбирала. А написать программу нужно на завтра-послезавтра.Вот задание:
Опишите функцию деления двух чисел с плавающей запятой, обработайте ошибку переполнения снизу (underflow). Заранее благодарю. p.s. Пишем в среде Qt.
0
|
|
09.06.2013, 17:00 | |
Ответы с готовыми решениями:
15
Обработка исключений с пмощью структурированной обработки исключений
Обработка исключений
|
414 / 410 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
||||||
09.06.2013, 17:28 | 2 | |||||
то?
0
|
0 / 0 / 1
Регистрация: 26.03.2011
Сообщений: 85
|
|
09.06.2013, 21:06 [ТС] | 3 |
Вроде бы по коду похоже.Попозже скомпилю и гляну, как работает. Спасибо большое.
Добавлено через 55 минут Я вот что еще хотела уточнить. Я думала, что переполнением снизу - это когда число получается слишком маленькое(т.е. имеет большое количество цифр после запятой и первые числа-это нули), и вследствие того, что оно может не влезть в раздел памяти, выделенный под double(например), оно усекается, и в итоге наше число получается равным 0. (такую суть объяснили преподаватели) А в интернете прочитала, что у каждого ПК есть свое минимальное число и свое максимальное число(т.е. я так поняла, они получаются с помощью numeric_limits<double>::min(), numeric_limits<double>::max. И если при делении число меньше минимального, то ошибка переполнения снизу, а если больше максимального-то сверху. Так?
0
|
![]() 177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
|
|
09.06.2013, 21:36 | 4 |
![]() Добавлено через 8 минут Olivеr, здравый смысл подсказывает, что это условие вообще не должно выполняться, иначе нахрена вообще нужно numeric_limits<double>::min(), если при этом переменная double хранит меньшее число?))) Бред какой-то, либо я переработал и пора в отпуск. ![]()
1
|
0 / 0 / 1
Регистрация: 26.03.2011
Сообщений: 85
|
|
09.06.2013, 21:40 [ТС] | 5 |
Объясните может вы мне тогда, что от меня требуется написать по заданию. Алгоритм, что нужно проверять и что представляет ошибка.
0
|
414 / 410 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
||||||
09.06.2013, 21:51 | 7 | |||||
ITcrusader, условие выполняется, http://ideone.com/JHCe1V
И еще я внес поправку в условие потому, что
Кто знает, пожалуйста, проверьте
0
|
![]() 177 / 163 / 21
Регистрация: 12.02.2013
Сообщений: 410
|
|
09.06.2013, 22:00 | 8 |
Ну! Так приемник результата - double! Коль уж результат настолько мал, что не представим в виде double, как можно пользоваться оной переменной?
1
|
414 / 410 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
||||||
09.06.2013, 22:16 | 9 | |||||
ITcrusader, Вы хотите сказать, что нужно сделать так?
0
|
09.06.2013, 22:23 | 10 |
Olivеr, вероятно, он хотел сказать вот что:
у нас есть предельный минимум для чисел double, который хранится в таком же типе - double. При делении может получиться так, что результат меньше, чем самое минимальное значение для переменных типа double, но мы этого узнать не сможем, т.к. минимальное число, которое можно представить в типе double - это само минимальное значение.
0
|
Форумчанин
![]() ![]() 8194 / 5044 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
09.06.2013, 22:24 | 11 |
ITcrusader, рекомендую ознакомиться и причаститься
1
|
414 / 410 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
||||||
09.06.2013, 22:30 | 12 | |||||
Спасибо за разъяснения. Это я знаю. Не мог понять, что же хотел сказать ITcrusader.
Взгляните на код:
Получается, что мы все таки можем определить антипереполнение?
0
|
09.06.2013, 23:29 | 13 | ||||||||||
Olivеr,
Добавлено через 4 минуты Походу, можно переполнение вниз определить так, если я все понял:
В этом коде: неприлично маленькое число ![]()
1
|
414 / 410 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
||||||
09.06.2013, 23:33 | 14 | |||||
то есть антипереполнение можно выявить примерно вот так?
0
|
414 / 410 / 95
Регистрация: 06.10.2011
Сообщений: 832
|
|
09.06.2013, 23:36 | 16 |
0
|
09.06.2013, 23:36 | |
Помогаю со студенческими работами здесь
16
Обработка исключений Обработка исключений Обработка исключений
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |