Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!sun-barr!rutgers!dptg!ulysses!andante!alice!ark From: ark@alice.UUCP (Andrew Koenig) Newsgroups: comp.lang.c Subject: Re: IEEE floating point format Message-ID: <9725@alice.UUCP> Date: 2 Aug 89 15:42:06 GMT References: <2170002@hpldsla.HP.COM> <9697@alice.UUCP> <3554@buengc.BU.EDU> Organization: AT&T Bell Laboratories, Liberty Corner NJ Lines: 35 In article <3554@buengc.BU.EDU>, bph@buengc.BU.EDU (Blair P. Houghton) writes: > In article <9697@alice.UUCP> ark@alice.UUCP (Andrew Koenig) writes: > > exponent all 1's fraction == 0 infinity > > exponent all 1's fraction != 0 NaN > > exponent all 0's denormalized > Fascinating; but, what does it mean to say "denormalized" in this context? It means the number is being represented in `gradual underflow' mode. To be more specfic: the smallest positive number that can be represented in IEEE 64-bit form without going into denormalized mode is 2^-1022. That number is represented this way: 0 00000000001 0000000000000000000000000000000000000000000000000000 If you count the way I did in my last note, this means an exponent of -1021 and a fraction of .(1)0000000.... The 1 is in parentheses because it's the `hidden bit' -- it's not actually stored. The next smaller number is represented this way: 0 00000000000 1111111111111111111111111111111111111111111111111111 This is the largest denormalized number: its value is 2^-1021 times .(0)11111... That is, the hidden bit becomes 0 when all the exponent bits are 0. Thus it is possible to represent numbers that are too small for the normal exponent range, albeit with reduced precision. As a result of this notatation, the smallest positive number that can be represented in IEEE 64-bit floating-point is 2^-1074. -- --Andrew Koenig ark@europa.att.com