C 参考手册

定义于头文件 <math.h>
#define signbit(arg) /* implementation defined */
(C99 起)

确定给定的浮点数 arg 是否为负。该宏返回整数值。

参数

arg - 浮点值

返回值

arg为负,则返回非零整数值,否则返回0

注意

此宏检测零、无穷大和 NaN 的符号。 signbit 是检验 NaN 符号的唯二可移植方式,另一方式是 copysign

示例

#include <stdio.h>
#include <math.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

引用

  • C11 standard (ISO/IEC 9899:2011):
  • 7.12.3.6 The signbit macro (p: 237)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.12.3.6 The signbit macro (p: 218)

参阅

(C99)(C99)
计算浮点值的绝对值( |x|
(函数)
从一个给定值的绝对值和另一个给定值的符号产生值
(函数)