Скопировать бит знака из одного числа в другое
#include <math.h>double copysign ( double x,double y );float copysignf ( float x,float y );
libm
Функции copysign() и copysignf() возвращаеют значение числа x и знаковый бит числа y.
Если x равен NAN, функции возвращают NAN со знаком y.
Значение x и знаковый бит y.
#include <stdio.h>#include <errno.h>#include <inttypes.h>#include <math.h>#include <fpstatus.h>int main( void ){double a, b, c;a = 27.0;b = -5;c = copysign( a, b );printf( "The magnitude of %f and sign of %f gives %f\n", a, b, c );return (0);}
Код генерирует следующий вывод:
$ ./a.out The magnitude of 27.000000 and sign of -5.000000 gives -27.000000
ANSI, POSIX 1003.1
Предыдущий раздел: Описание API математической библиотеки