在线文档教程
C++
数字 | Numerics

std::copysign

STD::文案

Defined in header
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。

二次

#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) fabsabsolute 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。

http://en.cppreference.com/w/cpp/数值/数学/文案