当前位置: C语言 -- 标准库 -- <math.h> -- copysignd64

copysignd64函数


概要:
#include <math.h>
#ifdef __STDC_IEC_60559_DFP__
    _Decimal64 copysignd64(_Decimal64 x, _Decimal64 y);
#endif 

描述:

该函数生成一个值,该值具有参数x的绝对值和参数y的符号。

如果参数x或者参数y是无符号值,结果的符号(如果存在。)将由实现定义。

对于表示有符号0、但在算术运算中不一致地处理负0的实现,该函数应将0的符号视为正号。


参数:
_Decimal64 x

参数为_Decimal64类型的浮点数。

_Decimal64 y

参数为_Decimal64类型的浮点数。


返回值:

函数返回绝对值与参数x相同、符号与参数y相同的值。


范例:
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
/*函数copysignd64范例*/

#include <math.h>
#include <stdio.h>

int main(void)
{
    #if __STDC_VERSION_MATH_H__ >= 202311L && defined(__STDC_IEC_60559_DFP__)
        printf("copysignd64(10.0dd, -5.0dd) = %.2Df\n", copysignd64(10.0dd,-5.0dd));
    #else
        puts("The implementation does not support copysignd64 function.");
    #endif

    return 0;
}

可能输出:

copysignd64(10.0dd, -5.0dd) = -10.00

(注:编译时实现还未支持copysignd64函数。)


相关内容:
copysign double类型的复制符号函数。
copysignf float类型的复制符号函数。
copysignl long double类型的复制符号函数。
copysignd32 _Decimal32类型的复制符号函数。
copysignd128 _Decimal128类型的复制符号函数。


主要参考资料:

1、ISO/IEC 9899:2024