首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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,

  • 返回值精确为%28FE_INEXACT不会引发%29,并且独立于当前舍入方式...

注记

std::copysign是操作NaN值%28的符号以检查NaN符号的唯一可移植方式,signbit也可以使用%29。

二次

代码语言:javascript
复制
#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';
}

二次

产出:

二次

代码语言:javascript
复制
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文案文件

代码语言:txt
复制
 ? cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com