signbit(3) проверка знака вещественного числа с плавающей точкой

ОБЗОР

#include <math.h>

int signbit(x);

Компонуется при указании параметра -lm.

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

signbit():

_XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L;
или cc -std=c99

ОПИСАНИЕ

Функция signbit() является общим макросом, который может работать со всем типами вещественных чисел с плавающей точкой. Она возвращает ненулевое значение, если у x установлен бит знака.

Это не подходит для x < 0.0, так как, согласно IEEE 754, спецификация плавающей точки допускает, что ноль может иметь знак. Сравнение -0.0 < 0.0 будет ложным, однако signbit(-0.0) вернет ненулевое значение.

Значение NaN и бесконечностей имеют бит знака.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

Макрос signbit() возвращает ненулевое значение, если знак x отрицателен, иначе он возвращает ноль.

ОШИБКИ

Ошибки не возникают.

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).
ИнтерфейсАтрибутЗначение
signbit() безвредность в нитяхбезвредно (MT-Safe)

СООТВЕТСТВИЕ СТАНДАРТАМ

POSIX.1-2001, POSIX.1-2008, C99. Эта функция определена в IEC 559 (и в приложении с рекомендуемыми функциями IEEE 754/IEEE 854).