4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
1 | |
Как вернуть NaN и Infinity, проверить на NaN и Infinity?30.03.2011, 08:08. Показов 28336. Ответов 40
Метки нет Все метки)
(
0
|
|
30.03.2011, 08:08 | |
Ответы с готовыми решениями:
40
Проверка double на NaN и Infinity Как определить NAN INFINITY HUGE_VAL? Null,undefined,Nan,infinity Обработка исключений при NaN, Infinity, by zero |
![]() 2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
30.03.2011, 08:25 | 2 |
taras atavin, с помощью numeric_limits.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
30.03.2011, 08:27 [ТС] | 3 |
А при чём здесь int?
0
|
![]() 2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
30.03.2011, 08:57 | 4 |
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
30.03.2011, 10:55 [ТС] | 6 |
А о каком здесь:
Добавлено через 1 минуту Это проверка? Добавлено через 50 секунд А как вернуть такие значения?
0
|
![]() 2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
30.03.2011, 11:05 | 7 | |||||
taras atavin, в аргументе шаблона задайте нужный Вам тип.
taras atavin, Вы хоть пробовали почитать описание numeric_limits?
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
30.03.2011, 11:44 [ТС] | 8 |
А мне надо универсально.
Добавлено через 1 минуту Пробовал, но понял только, что с помощью этого прибамбаса можно проверить, поддерживает ли тип int код Infinity и убедиться в обратном.
0
|
![]() 2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
30.03.2011, 11:51 | 9 |
taras atavin, я сейчас матерится начну.
ЧИТАТЬ ВНИМАТЕЛЬНО: ![]()
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|||||||||||
30.03.2011, 13:09 [ТС] | 10 | ||||||||||
А почему бесконечность то интовая? Может
Добавлено через 14 минут И проверку как сделать?
0
|
![]() 2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
30.03.2011, 13:10 | 11 |
taras atavin, дошло, наконец? Вы пробуйте в следующий раз читать то, что Вам пишут и изучить информацию в которую Вас тыкают носом.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
||||||
30.03.2011, 13:12 [ТС] | 12 | |||||
Как вернуть, я понял. А как проверить?
Добавлено через 56 секунд Неужели
0
|
![]() 2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
30.03.2011, 13:17 | 13 |
Не угадали. Числа с плавающий точкой так не сравниваются, нужно учитывать погрешность.
Подсказка: гугл знает ответ.
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
30.03.2011, 13:22 [ТС] | 14 |
NaN с погрешностью? Ну и ну!
0
|
![]() 2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
30.03.2011, 13:55 | 15 |
Я что-то сказал про сравнение c NaN?
Ладно... Раз Вам религия не позволяет вбить в гугле "NaN" и посмотреть первую же ссылку, то вот Вам цитата с Википедии: ![]()
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
18.07.2015, 07:27 [ТС] | 16 |
А как проверить на inf? MSDN предлагает функцию _finite, но она специфична для их среды, кодоблоки её не понимают.
0
|
Комп_Оратор)
![]() |
||||||
18.07.2015, 07:47 | 17 | |||||
taras atavin, вот давненько смотрел, правда, но проверял вроде:
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
18.07.2015, 08:46 [ТС] | 18 |
0
|
Комп_Оратор)
![]() |
|
18.07.2015, 10:18 | 19 |
В первых двух примерах (втором точнее) показано как проверить ограниченно ли значение. Если не ограничено то бесконечность. Более того там два сравнения конкатенируются && то есть легко использовать любое из них для определения знака бесконечности. Сам факт сравнения с DBL_MAX говорит о том, что оно работает и когда сравниваемое значение равно (Вы не поверите) std::numeric_limits<double>::infinity()
![]()
0
|
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
|
|
18.07.2015, 11:06 [ТС] | 20 |
0
|
18.07.2015, 11:06 | |
18.07.2015, 11:06 | |
Помогаю со студенческими работами здесь
20
Как можно убрать Infinity? Как реализована Double.NaN != Double.NaN infinity размер Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |