Форум программистов, компьютерный форум CyberForum.ru

Как вернуть NaN и Infinity, проверить на NaN и Infinity? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Быстрое программирование http://www.cyberforum.ru/cpp/thread266617.html
Расскажите что это такое. Ничего толкового ни на русском ни на английском не нашел. Только пару книг, но их надо покупать.
C++ структуры Создать массив структур для учета занятости аудитории: день недели, время учебной пары, аудитория, название предмета. Реализовать поиск периодов времени, когда выбранная аудитория свободна. помогите пожалуйста!!! http://www.cyberforum.ru/cpp/thread265832.html
Сформировать вектор, состоящий из максимальных элементов каждого столбца (строки) матрицы C++
Данная прямоугольная матрица. Сформировать вектор, состоящий из максимальных элементов каждого столбца (строки) матрицы. Поиск максимального элемента в столбце (строке) выполнить в виде подпрограммы. Надо сделать как-то без указателей. Помогите, пожалуйста!!!
C++ Блок схемы
Здравствуйте, есть три задачи. Нужно составить блок-схему алгоритма к ним. У самого ничего не получается, помогите пожалуйста. 1.Вывести сообщение "да", если в массиве А(9) имеется хотя бы одна пара равных элементов, стоящих рядом. 2. В одномерном массиве найти сумму тех элементов массива, значения которых больше 4 и при этом индекс кратный 4 3. В заданном массиве A(N) отрицательные...
C++ Как вызвать скрипты powershell из программы, написанной на с++ http://www.cyberforum.ru/cpp/thread265541.html
Собственно задача в следующем, есть скрипты обращения к базе данных AD, вывод результата на стандартную консоль. Нужно из программы на visual С++ отработать скрипт и выходную информацию записать в переменную для последующей обработки и вывода. За ранее благодарен.
C++ Является ли чило автоморфным? Дано натуральное число N. Определить, является ли оно автоморфным. Автоморфное число N равняется последним разрядам квадрата этого числа. Например, числа 5, 6, 25, поскольку 52=25, 62=36, 252=625. подробнее

Показать сообщение отдельно
Cuellius
176 / 84 / 62
Регистрация: 23.06.2015
Сообщений: 219
Завершенные тесты: 2
19.07.2015, 14:41     Как вернуть NaN и Infinity, проверить на NaN и Infinity?
Цитата Сообщение от taras atavin Посмотреть сообщение
Как вернуть NaN и Infinity
NaN = 0.0 / 0.0
Infinity = 1.0 / 0.0
-Infinity = -1.0 / 0.0

Цитата Сообщение от taras atavin Посмотреть сообщение
проверить на NaN и Infinity?
Есть функции std::isnan и std::isinf
Кроме того, с +бесконечностью или с -бесконечностью можно сравнить с помощью оператора ==
C NaN такое не прокатит, ибо NaN ничему не равен, даже другому NaN

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <cmath>
 
int main()
{
    double infinity = 1.0 / 0.0;
    double minfinity = -1.0 / 0.0;
    double minfinity2 = -7.0 / 0.0;
    double nan = 0.0 / 0.0;
    double nan2 = 0.0 / 0.0;
    std::cout << infinity << std::endl;
    std::cout << minfinity << std::endl;
    std::cout << nan << std::endl;
    std::cout << std::isnan(infinity) << ' ' << std::isinf(infinity) << std::endl;
    std::cout << std::isnan(minfinity) << ' ' << std::isinf(minfinity) << std::endl;
    std::cout << std::isnan(nan) << ' ' << std::isinf(nan) << std::endl;
    std::cout << (infinity == minfinity2) << std::endl;
    std::cout << (infinity == (7.0 / 0.0)) << std::endl;
    std::cout << (minfinity == minfinity2) << std::endl;
    std::cout << (nan == nan2) << std::endl;
    std::cout << (infinity == nan2) << std::endl;
    return 0;
}
Для компилятора от Microsoft
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
#include <cmath>
 
double GetZero()
{
    return 0.0;
}
 
int main()
{
    double infinity = 1.0 / GetZero();
    double minfinity = -1.0 / GetZero();
    double minfinity2 = -7.0 / GetZero();
    double nan = 0.0 / GetZero();
    double nan2 = 0.0 / GetZero();
    std::cout << infinity << std::endl;
    std::cout << minfinity << std::endl;
    std::cout << nan << std::endl;
    std::cout << std::isnan(infinity) << ' ' << std::isinf(infinity) << std::endl;
    std::cout << std::isnan(minfinity) << ' ' << std::isinf(minfinity) << std::endl;
    std::cout << std::isnan(nan) << ' ' << std::isinf(nan) << std::endl;
    std::cout << (infinity == minfinity2) << std::endl;
    std::cout << (infinity == (7.0 / GetZero())) << std::endl;
    std::cout << (minfinity == minfinity2) << std::endl;
    std::cout << (nan == nan2) << std::endl;
    std::cout << (infinity == nan2) << std::endl;
    return 0;
}
 
Текущее время: 03:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru