📜  C++ STL-math.signbit()函数(1)

📅  最后修改于: 2023-12-03 15:29:50.433000             🧑  作者: Mango

C++ STL - math.signbit() 函数

简介

math.signbit() 函数是C++ STL中一个非常有用的数学函数。它用于检查一个数的符号是否为负数。如果该数为负数,则该函数返回 true,否则返回 false。

#include <cmath>
bool signbit(float x);
bool signbit(double x);
bool signbit(long double x);
  • x: 需要检查符号的数值。
  • 返回值: 如果 x 为负数,则返回 true,否则返回 false。
示例
#include <iostream>
#include <cmath>

int main()
{
    double x = -3.14;

    if (std::signbit(x))
    {
        std::cout << "x is negative." << std::endl;
    }
    else
    {
        std::cout << "x is positive." << std::endl;
    }

    return 0;
}

输出:

x is negative.
注意事项
  • 当参数为 NaN 时,返回 false。
  • 在 IEEE 754 标准中,零可以被表示为正或负,因此,当参数为零时,根据实现可能返回 true 或 false。
  • 在 C++11 中,std::signbit(T) 相当于 std::signbit((T) 0),可以用来判断 T 的符号位是正还是负。