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

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

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

简介

math.copysign(x, y) 函数返回一个新的 double 类型的值,其值等于 x 的绝对值并且符号与 y 相同。

该函数属于 C++ STL 中的 math.h 头文件。

语法

下面是 math.copysign() 函数的语法:

double copysign(double x, double y);
参数
  • x :需要设置绝对值的目标数。
  • y :需要获取符号的参考数。
返回值

该函数返回一个新的 double 类型的数,其绝对值等于 x 的绝对值并且符号与 y 相同。如果 xy 不是一个数字(NaN),那么结果为 NaN。

示例

下面是使用 math.copysign() 函数的示例:

#include <iostream>
#include <cmath>

int main() 
{
    double x = 3.2345;
    double y = -1.0;
    double result = std::copysign(x, y);

    std::cout << "x = " << x << std::endl;
    std::cout << "y = " << y << std::endl;
    std::cout << "result = " << result << std::endl;
}

输出结果:

x = 3.2345
y = -1
result = -3.2345
注意事项
  • math.copysign() 函数可以用于处理符号位不同的数值间的转换。
  • xy 不是一个数字(NaN)时,函数的返回结果为 NaN。
  • 该函数也可作为静态成员函数以后缀的方式使用,例如 std::math::copysign()
  • 此函数的支持程度与编译器有关,因此使用时需要注意编译器的支持情况。