1 double
u2d(unsigned int u)2 u2d (unsigned int u)
3 {
4 return u;
5 }
6
7 double
i2d(signed int i)8 i2d (signed int i)
9 {
10 return i;
11 }
12
13 unsigned int
d2u(double d)14 d2u (double d)
15 {
16 return d;
17 }
18
19 signed int
d2i(double d)20 d2i (double d)
21 {
22 return d;
23 }
24
main()25 main ()
26 {
27 printf ("%lf, %lf, %lf\n", u2d (~0), u2d (1 << 31), u2d (1));
28 printf ("%lf, %lf, %lf\n", i2d (~0), i2d (1 << 31), i2d (1));
29
30 printf ("%u, %u, %u\n", d2u (u2d (~0)), d2u (u2d (1 << 31)), d2u (u2d (1)));
31 printf ("%d, %d, %d\n", d2i (i2d (~0)), d2i (i2d (1 << 31)), d2i (i2d (1)));
32 }
33