Namespaces
Variants

signbit

From cppreference.net
< c ‎ | numeric ‎ | math
Common mathematical functions
Functions
Basic operations
(C99)
(C99)
(C99)
(C99) (C99) (C99) (C23)
Maximum/minimum operations
Exponential functions
Power functions
Trigonometric and hyperbolic functions
Nearest integer floating-point
(C99) (C99) (C99)
(C23) (C23) (C23) (C23)
Floating-point manipulation
Narrowing operations
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quantum and quantum exponent
Decimal re-encoding functions
Total order and payload functions
Classification
(C99)
(C99)
signbit
(C99)
(C23)
Error and gamma functions
(C99)
(C99)
(C99)
(C99)
Types
Macro constants
Special floating-point values
Arguments and return values
Error handling
Fast operation indicators
Определено в заголовочном файле <math.h>
#define signbit( arg ) /* implementation defined */
(начиная с C99)

Определяет, является ли данное число с плавающей запятой arg отрицательным. Макрос возвращает целочисленное значение.

Содержание

Параметры

arg - значение с плавающей запятой

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

Ненулевое целочисленное значение, если arg отрицательно, 0 в противном случае.

Примечания

Этот макрос обнаруживает знаковый бит нулей, бесконечностей и NaN. Наряду с copysign , этот макрос является одним из всего двух переносимых способов проверки знака NaN.

Пример

#include <math.h>
#include <stdio.h>
int main(void)
{
    printf("signbit(+0.0) = %d\n", signbit(+0.0));
    printf("signbit(-0.0) = %d\n", signbit(-0.0));
}

Возможный вывод:

signbit(+0.0) = 0
signbit(-0.0) = 128

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
  • 7.12.3.6 Макрос signbit (стр.: TBD)
  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.12.3.6 Макрос signbit (стр.: TBD)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.12.3.6 Макрос signbit (стр. 237)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.12.3.6 Макрос signbit (стр. 218)

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

(C99) (C99)
вычисляет абсолютное значение числа с плавающей запятой ( |x| )
(функция)
создает значение с величиной одного заданного значения и знаком другого заданного значения
(функция)
C++ documentation для signbit