C++ 参考手册

位置:首页 > C++ 参考手册 >数值库 >常用数学函数 > std::signbit

定义于头文件 <cmath>
bool signbit( float arg );
(1) (C++11 起)
bool signbit( double arg );
(2) (C++11 起)
bool signbit( long double arg );
(3) (C++11 起)
bool signbit( IntegralType arg );
(4) (C++11 起)
1-3) 确定给定的浮点数 arg 是否为负。
4) 接受任何整数类型 arg 参数的重载集或函数模板。等价于 (2) (将参数转型为 double )。

参数

arg - 浮点值

返回值

arg 为负则为 true ,否则为 false

注意

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

示例

#include <iostream>
#include <cmath>
 
int main()
{
    std::cout << std::boolalpha
              << "signbit(+0.0) = " << std::signbit(+0.0) << '\n'
              << "signbit(-0.0) = " << std::signbit(-0.0) << '\n';
}

输出:

signbit(+0.0) = false
signbit(-0.0) = true

参阅

浮点值的绝对值( |x|
(函数)
(C++11)(C++11)(C++11)
复制浮点值的符号
(函数)