Path: utzoo!mnetor!uunet!lll-winken!lll-lcc!ames!mailrus!umix!umich!mibte!gamma!sabre!sword!faline!bellcore!spectral!sjs From: sjs@spectral.ctt.bellcore.com (Stan Switzer) Newsgroups: comp.lang.c Subject: Re: Why NULL is 0 Message-ID: <6594@bellcore.bellcore.com> Date: 7 Apr 88 12:52:43 GMT References: <2550049@hpisod2.HP.COM> <7412@brl-smoke.ARPA> <3351@chinet.UUCP> <10229@steinmetz.steinmetz.ge.com> <1323@PT.CS.CMU.EDU> Sender: news@bellcore.bellcore.com Reply-To: sjs@spectral.UUCP (Stan Switzer) Organization: Computer Technology Transfer, Bellcore Lines: 17 In reference to: > > People (usually ;>) have no problem with the idea the while assigning a > > zero to a float gives it the vaule 0.0, in most implementations the > > float value does not have all bits set to zero. And: > I do believe IEEE and Vax's version of float is a bit pattern > consisting of all zeros. So what are these implementations that don't > use zero bit pattern? The Honeywell 6000 Series and GE 625/635 machines represented NORMALIZED float zero as o400000000000 (36 bits, msb ON). This may date back to its grand-uncle the 709. BTW, all 0 bits WAS a float zero, but it wasn't normalized. The results of most float operations on unnormalized values was undefined. I suspect that additions and subtractions would lose precision in the process of alligning the points.