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 宏 (p: TBD)
  • C17 标准 (ISO/IEC 9899:2018):
  • 7.12.3.6 signbit 宏 (页: TBD)
  • C11 标准 (ISO/IEC 9899:2011):
  • 7.12.3.6 signbit 宏 (p: 237)
  • C99标准(ISO/IEC 9899:1999):
  • 7.12.3.6 signbit宏(第218页)

参见

(C99) (C99)
计算浮点值的绝对值 ( |x| )
(函数)
生成一个具有给定值大小和另一个给定值符号的值
(函数)
C++ 文档 关于 signbit