Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Динамическое создание переменных Есть строка введённая с клавиатуры пользователем, к примеру такая: "a+b+c", как создать динамические переменные, допустим типа int a, b, c? https://www.cyberforum.ru/ cpp-beginners/ thread1235890.html C++ Описание заголовочного файла synchapi.h
сабж Нужно на русском. Есть такие ресурсы? Всё облазил...
C++ Освобождение памяти в деструкторе класса Перечитал по этому поводу много информации. Главный вопрос. Есть класс в котором происходит динамическое выделение памяти. В конструкторе я эту память хочу удалить. Пробовал много методов вроде создания отдельной функции внутри класса, которая освобождает память и встраивания ее в деструктор. Постоянно вылетает ошибка. Вопрос при удалении объекта класса динамически выделенная память сама по... https://www.cyberforum.ru/ cpp-beginners/ thread1235882.html C++ Работа с командной строкой. Отрытие вызываемых файлов Добрый вечер форумчане. Составлена программа с аргументами командной строки. Hello, word C:\WINDOWS\system32\notepad.exe D:\comp11.txt D:\forma.exe И в свойствах проекта вот этот командный аргумент "C:\WINDOWS\system32\notepad.exe D:\comp11.txt", при запуске программы, ничего не запускает. Проверяя C:\WINDOWS\system32\notepad.exe D:\comp11.txt на командной строке - она работает. А... https://www.cyberforum.ru/ cpp-beginners/ thread1235874.html
C++ Найти ошибку при освобождении памяти
Тут используется полиморфизм правильно, а вот очистка памяти в первом вроде правильно, а во втором нет...( Правильно такое или нет? FirstClass **arr; arr = new FirstClass*; FirstClass *c = new SecondClass(); FirstClass *d = new FirstClass(); FirstClass *e = new SecondClass(); arr = c;
C++ Составить алгоритм обхода игрового поля Вобщем, такая тема: Дан двумерный массив чисел 12х12, который содержит числа от 0 до 5. 0 - дырка 1 - мое местоположение( при запуске приложения ) 2 - черный ящик( -здоровье ) 3 - красный ящик( +здоровье ) 4 - зеленый ящик( +защита ) 5 - положение противника( противник, как и сам игрок, один ). https://www.cyberforum.ru/ cpp-beginners/ thread1235802.html
C++ Есть ли смысл помечать функции как inline, если их прототип уже есть в .h файле? https://www.cyberforum.ru/ cpp-beginners/ thread1235769.html
Есть ли смысл помечать функции как inline, если их прототип уже есть в .h файле? Функции в одну строчку, сразу в ретарне вычисляет возвращаемое значение.
C++ Память. Стек или куча - есть ли преимущества одного кода над другим?
Здравствуйте, хотел спросить в чем различия. В чем тут недостатки и преимущества разных способов? Apple apple(); и Apple *apple = new Apple(); delete apple; И обязательно ли после второго способа делать delete?
C++ Прокомментировать код помогите понять этот код int main(){ const int PASSWORD_LENGTH=10; const char * CORRECT_PASSWORD="130f1a8e9e102707f3f91b010f151b0b"; char *md5buf; char buf; setlocale( LC_ALL,"Russian" ); cin.exceptions(istream::failbit | istream::badbit); https://www.cyberforum.ru/ cpp-beginners/ thread1235700.html C++ Требуется для каждого положения “окна” определить минимум в нём помогите пожалуйста решить задачу Рассмотрим последовательность целых чисел длины N. По ней с шагом 1 двигается “окно” длины K, то есть сначала в “окне” видно первые K чисел, на следующем шаге в “окне” уже будут находиться K чисел, начиная со второго, и так далее до конца последовательности. Требуется для каждого положения “окна” определить минимум в нём. Формат входных данных В первой... https://www.cyberforum.ru/ cpp-beginners/ thread1235674.html
C++ Переопределение операции присваивания
Есть вот такой класс: #ifndef cd_h #define cd_h class Cd { private: char* performance; char* label; int selections;
C++ Как реализовать флаги в параметрах функции https://www.cyberforum.ru/ cpp-beginners/ thread1235623.html
Объясните пожалуйста как реализовать флаги в параметрах функции. К примеру: есть такие флаги left middle right drowPoints (тут параметры флаги); Вот так я эти флаги прописываю
Evg
Эксперт CАвтор FAQ
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 30
30.07.2014, 11:20 0

Проверка double на NaN и Infinity - C++ - Ответ 6474165

30.07.2014, 11:20. Показов 10223. Ответов 9
Метки (Все метки)

Ответ

http://www.cplusplus.com/reference/cmath/isinf/

Судя по всему, сие есть часть стандарта C99 и C++11. Думаю, это объясняет разницу между msvs-2012 и msvs-2013: более ранняя версия не поддерживает c++11, а c99, насколько я слышал, они не поддерживают вообще

Добавлено через 12 минут
Вот реализация, выдранная из glibc-2.7 для i386. Можешь втащить к себе, если с библиотечной реализацией не разберёшься

C
typedef union
{
  double value;
  struct
  {
    u_int32_t lsw;
    u_int32_t msw;
  } parts;
} ieee_double_shape_type;
 
#define EXTRACT_WORDS(ix0,ix1,d) \
do {                             \
  ieee_double_shape_type ew_u;   \
  ew_u.value = (d);              \
  (ix0) = ew_u.parts.msw;        \
  (ix1) = ew_u.parts.lsw;        \
} while (0)
 
int
__isinf (double x)
{
        int32_t hx,lx;
        EXTRACT_WORDS(hx,lx,x);
        lx |= (hx & 0x7fffffff) ^ 0x7ff00000;
        lx |= -lx;
        return ~(lx >> 31) & (hx >> 30);
}
 
int
__isnan (double x)
{
    int32_t hx,lx;
    EXTRACT_WORDS(hx,lx,x);
    hx &= 0x7fffffff;
    hx |= (u_int32_t)(lx|(-lx))>>31;
    hx = 0x7ff00000 - hx;
    return (int)(((u_int32_t)hx)>>31);
}


Вернуться к обсуждению:
Проверка double на NaN и Infinity C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.07.2014, 11:20
Готовые ответы и решения:

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

Проверка double.NaN, разобрать код
объясните пожалуйста, почему t=false, t1=true исходя из моей логики получается что true должны...

Null,undefined,Nan,infinity
Всем привет! У меня 2 вопроса: 1)Перечисленные в заголовке значения яв-ся ли типами данных 2)В...

Как реализована Double.NaN != Double.NaN
public static void main(String args) { Float f1 = new Float(Float.NaN); Float f2...

9
30.07.2014, 11:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.07.2014, 11:20
Помогаю со студенческими работами здесь

Как определить NAN INFINITY HUGE_VAL?
пробую собрать libxml2-2.9.8 старым компилятором (cl v 13.10.4035 for 80x86 из DDK) там в xpath.c...

Обработка исключений при NaN, Infinity, by zero
Здравствуйте! Подскажите, пожалуйста, как сделать обработку исключений при этих значениях. Типа: ...

Double.NAN - почему условие не срабатывает?
Не пойму, почему условие не срабатывает. Значения переменных в отладчике Double.NaN. Скрин прилагаю.

Как присвоить переменной Double значение NaN?
Есть переменная типа double. Как ей присвоить значение NaN?

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru