std::copysign
Defined in header <cmath> | | |
|---|---|---|
float copysign( float x, float y ); | (1) | (since C++11) |
double copysign( double x, double y ); | (2) | (since C++11) |
long double copysign( long double x, long double y ); | (3) | (since C++11) |
Promoted copysign( Arithmetic1 x, Arithmetic2 y ); | (4) | (since C++11) |
1-3%29构成浮点值,其大小为x以及…的迹象y...
4%29一组重载或函数模板,用于%281-3%29中未涵盖的所有算术类型参数组合。如果有任何争论积分型,它被铸造成double.如果有任何争论long double,则返回类型Promoted也是long double,否则返回类型总是double...
参数
x, y | - | floating point values |
|---|
返回值
如果没有出现错误,则浮点值的大小为x以及…的迹象y会被归还。
如果x是南,然后是南y会被归还。
如果y是-0,只有当实现在算术操作中一致支持符号零时,结果才是负的。
错误处理
中指定的任何错误均不受此函数的影响。数学[医]错误处理...
如果实现支持ieee浮点算法%28IEC 60559%29,
- 返回值精确为%28
FE_INEXACT不会引发%29,并且独立于当前舍入方式...
注记
std::copysign是操作NaN值%28的符号以检查NaN符号的唯一可移植方式,signbit也可以使用%29。
例
二次
#include <iostream>
#include <cmath>
int main(void)
{
std::cout << "copysign(1.0,+2.0) = " << std::copysign(1.0,+2.0) << '\n'
<< "copysign(1.0,-2.0) = " << std::copysign(1.0,-2.0) << '\n'
<< "copysign(inf,-2.0) = " << std::copysign(INFINITY,-2.0) << '\n'
<< "copysign(NaN,-2.0) = " << std::copysign(NAN,-2.0) << '\n';
}二次
产出:
二次
copysign(1.0,+2.0) = 1
copysign(1.0,-2.0) = -1
copysign(inf,-2.0) = -inf
copysign(NaN,-2.0) = -nan二次
另见
abs(float) fabs | absolute value of a floating point value (|x|) (function) |
|---|---|
signbit (C++11) | checks if the given number is negative (function) |
C文案文件
© cppreference.com在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。
本文档系腾讯云开发者社区成员共同维护,如有问题请联系 cloudcommunity@tencent.com

