std::signbit

来自cppreference.com
< cpp‎ | numeric‎ | math
 
 
 
常用数学函数
函数
基本运算
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
指数函数
(C++11)
(C++11)
(C++11)
(C++11)
幂函数
(C++11)
(C++11)
三角与双曲函数
(C++11)
(C++11)
(C++11)
误差与伽马函数
(C++11)
(C++11)
(C++11)
(C++11)
临近整数的浮点运算
(C++11)(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
浮点操作函数
(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)
(C++11)
分类/比较
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
signbit
(C++11)
(C++11)
(C++11)
宏常量
(C++11)(C++11)(C++11)(C++11)(C++11)
 
定义于头文件 <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)
复制浮点值的符号
(函数)