How to compose a floating point value with the magnitude of x and the sign of y in C

3 Answers

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

int main(void)
{
    double d = copysign(-1.0, +2.0);

    printf("%lf", d);
}





/*
run:

1.000000

*/

 



answered Jan 27, 2023 by avibootz
0 votes
#include <stdio.h>
#include <math.h>

int main(void)
{
    float f = copysignf(1.0, -2.0);

    printf("%f", f);
}





/*
run:

-1.000000

*/

 



answered Jan 27, 2023 by avibootz
0 votes
#include <stdio.h>
#include <math.h>

int main(void)
{
    long double ld = copysignl(-1.0, -2.0);

    printf("%Lf", ld);
}





/*
run:

-1.000000

*/

 



answered Jan 27, 2023 by avibootz
...