![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
nikita |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 34 Регистрация: 19.10.2012 Пользователь №: 3570 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Всем привет! Помогите разобраться : Есть функция которая возвращает значение типа double. На некоторых наборах входных данных она возвращает "nan". Как я понимаю nan = Not A Number. Как проверить является ли значение переменной равным nan? Заранее спасибо!
|
|
|
Алексей1153 |
![]()
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2944 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
http://ru.wikipedia.org/wiki/Nan
Цитата NaN не равен ни одному другому значению (даже самому себе[2]); соответственно, самый простой метод проверки результата на NaN — это сравнение полученной величины с самой собой. ![]() |
|
|
nikita |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 34 Регистрация: 19.10.2012 Пользователь №: 3570 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Спасибо! Ответ очень помог
![]() |
|
|
Алексей1153 |
![]()
Сообщение
#4
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2944 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
кстати, я не проверял, как оптимизатор обойдётся с кодом вида
может, он решит, что isNan всегда == false |
|
|
Iron Bug |
![]()
Сообщение
#5
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Алексей1153 |
![]()
Сообщение
#6
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2944 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
думаю, как процедуру оформить можно
|
|
|
nikita |
![]()
Сообщение
#7
|
Студент ![]() Группа: Участник Сообщений: 34 Регистрация: 19.10.2012 Пользователь №: 3570 Спасибо сказали: 2 раз(а) Репутация: ![]() ![]() ![]() |
Я оформил так :
Вроде все работает как нужно) |
|
|
Litkevich Yuriy |
![]()
Сообщение
#8
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Алексей1153 |
![]()
Сообщение
#9
|
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2944 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
nikita, как сказала Iron Bug, необходимо volatile переменные. Только я их в коде никогда не использовал, но предполагаю, что это должно быть атрибутом аргумента - ведь именно его не нужно оптимизировать. Шаблон не нужен - это всё имеет смысл только для вещественных чисел, а float приведётся к double:
Litkevich Yuriy, ну, выглядит как нагромождение знаков, но там как-то так
И! Апофигиоз: у меня НЕ работает (MinGW) - см картинку. Под cl не пробовал |
|
|
||
Litkevich Yuriy |
![]()
Сообщение
#10
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 13.7.2025, 20:09 |