Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!think!harvard!seismo!mcvax!ukc!warwick!cudcv From: cudcv@daisy.warwick.UUCP (Rob McMahon) Newsgroups: net.unix-wizards Subject: Unsigned -> float conversion Message-ID: <144@daisy.warwick.UUCP> Date: Thu, 3-Apr-86 09:52:08 EST Article-I.D.: daisy.144 Posted: Thu Apr 3 09:52:08 1986 Date-Received: Sun, 6-Apr-86 01:21:47 EST Reply-To: cudcv@daisy.warwk.ac.uk (Rob McMahon) Organization: Computer Unit, Warwick University, UK Lines: 41 Pointed out to me by someone here - what does your favourite C compiler make of this program : main() { unsigned long u; double d; float f; u = ~0; d = u; f = u; printf("u = %lu f = %f d = %lf\n", u, f, d); if (d < 0) printf("d < 0\n"); if (f < 0) printf("f < 0\n"); } On a VAX-780 running 4.2bsd or a Sun-2 running 2.0 it gives u = 4294967295 f = -1.000000 d = -1.000000 d < 0 f < 0 On a Gould PN6000 running UTX/32 1.2 it gives u = 4294967295 f = -1.000000 d = 4294967295.000000 f < 0 ----- UUCP: ...!mcvax!ukc!warwick!cudcv JANET: cudcv%uk.ac.warwk.daisy PHONE: +44 204 523037 Rob McMahon, Computer Unit, Warwick University, Coventry CV4 7AL, England -- UUCP: ...!mcvax!ukc!warwick!cudcv ARPA: cudcv%warwk.daisy@ucl-cs.ARPA PHONE: +44 204 523037 Rob McMahon, Computer Unit, Warwick University, Coventry CV4 7AL, England