Главная    Разработка ПО    функции языка Си

Описание функций языка Си

" I "

ilogb,ilogbf,ilogbl 

isfinite 

isgreater 

isgreaterequal 

isinf,isinff,isinl 

isinf 

isless 

islessequal 

islessgreater 

isnan,isnanf,isnanl 

isnormal 

isunordered 

All | _ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

isinf, isinff, isinfl - проверка, является ли аргумент бесконечностью.

Синтаксис:

#include < math.h >

int isinf (double x);
int isinff (float x);
int isinfl (long double x);

Аргументы:

x – проверяемое число с плавающей точкой.

Возвращаемое значение:

0, если проверяемый аргумент – конечное число или не число (nan).

Отличное от нуля значение, если проверяемый аргумент плюс или минус бесконечность.

Описание:

Функции isinf, isinff, isinfl проверяют, является ли аргумент плюс/минус бесконечность.

Функции isinf, isinff, isinfl отличаются друг от друга типом аргумента. Так аргумент функции isinf является числом с плавающей точкой двойной точности (тип double, точность не менее десяти значащих десятичных цифр, разрядность - 64).

Аргумент функции isinff является числом с плавающей точкой (тип float, точность не менее шести значащих десятичных цифр, разрядность - 32).

Аргумент функции isinfl является числом с плавающей точкой повышенной точности (тип long double, точность не менее десяти значащих десятичных цифр, разрядность - 80).

Функции isinf, isinff, isinfl в ревизии C99 стандарта Си были продублированы макросом isinf, работающим с аргументом, заданным числом с плавающей точкой любого типа (float, double, long double).

Пример:

В примере проверяется три аргумента, один из которых нормальное число, другой не число, а третий плюс бесконечность, с помощью функций isinf, isinff, isinfl и результат выводится на консоль.


#include < stdio.h >  //Для printf, puts
#include < math.h >   //Для isinf, isinff, isinfl

int main (void)
{    
   // Аргумент 1 – не число
   float arg1 = NAN;
   //Аргумент 2 – бесконечность
   double arg2 = INFINITY;
   //Аргумент 3 – конечное число
   long double arg3 = 104.563;

   // Выводим на консоль значения аргументов
   printf (“Аргументы: %f %f %3Lf\n”,arg1, arg2, arg3);

   // Проверяем тип первого аргумента и выводим результат
   if (isinff (arg1) == 0)
      puts (“Первый аргумент – конечное число или не число.”);
   else
      puts (“Первый аргумент – бесконечность.”);

   // Проверяем тип второго аргумента и выводим результат
   if (isinf (arg2) == 0)
      puts (“Второй аргумент – конечное число или не число.”);
   else
      puts (“Второй аргумент – бесконечность.”);

   // Проверяем тип третьего аргумента и выводим результат
   if ( isinfl (arg3) == 0)
      puts (“Третий аргумент – конечное число или не число.”);
   else
      puts (“Третий аргумент – бесконечность.”);

   return 0;
}

Результат:

Аргументы: nan, inf, 104.563
Первый аргумент – конечное число или не число.
Второй аргумент – бесконечность.
Третий аргумент – конечное число или не число.



Смотри так же:

Функции:
finite, finitef, finitel
isinf, isinff, isinfl
isnan,isnanf,isnanl

Макросы:
isfinite
isinf
isnan
isnormal
isunordered
fpclassify


Яндекс.Метрика

Рейтинг@Mail.ru