非常教程

C参考手册

数值 | Numerics

signbit

在头文件<math.h>中定义

#define signbit(arg)/ *实现定义* /

(自C99以来)

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

参数

arg

-

浮点值

返回值

非零整数值如果arg为负数,否则0​

注意

该宏检测零,无穷和NaN的符号位。与此同时copysign,这个宏是检查NaN符号的两种便携方式之一。

#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标准(ISO/IEC 9899:2011):
    • 7.12.3.6 signbit宏(p:237)
  • C99标准(ISO/IEC 9899:1999):
    • 7.12.3.6符号宏(p:218)

另请参阅

fabsfabsffabsl(C99)(C99)

计算浮点值的绝对值(| x |)(函数)

copysigncopysignfcopysignl(C99)(C99)(C99)

产生具有给定值的大小和另一个给定值(函数)的符号的值

| 用于signbit |的C ++文档

C

C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。