fork download
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int main(void) {
  5. double d1 = 1. * 0.;
  6. double d2 = (-1.) * 0;
  7.  
  8. printf("d1: %f\n", d1);
  9. printf("d2: %f\n", d2);
  10.  
  11. printf("d1 == d2: %s\n", (d1 == d2)?"true":"false");
  12.  
  13. printf("signbit(d1) != 0: %d\n", (int)(signbit(d1) != 0));
  14. printf("signbit(d2) != 0: %d\n", (int)(signbit(d2) != 0));
  15.  
  16. printf("copysign(1., d1): %f\n", copysign(1., d1));
  17. printf("copysign(1., d2): %f\n", copysign(1., d2));
  18. return 0;
  19. }
Success #stdin #stdout 0s 4520KB
stdin
Standard input is empty
stdout
d1: 0.000000
d2: -0.000000
d1 == d2: true
signbit(d1) != 0: 0
signbit(d2) != 0: 1
copysign(1., d1): 1.000000
copysign(1., d2): -1.000000