Just a note, it worked fine on a 11/44 2.9BSD. Script started on Sun Jan 13 12:19:28 1985 % cat ttt.c #include <stdio.h> double d; unsigned u; main() { u = ~0; printf("%u\n", u); d = u; printf("%f\n", d); } % cc ttt.c % a.out 65535 65535.000000 % script done on Sun Jan 13 12:19:59 1985