In article , MooseFET writes: |> |> > >I had seen the implied bit idea elsewhere. The idea of using up codes |> > >to specify things like NAN, +INF and -INF are things that I have found |> > >myself disagreeing with. I have never liked "in band signaling". |> > >That is the only part of the standard I found to be strange. |> >
|> > >I had to convert some all positive fixed point numbers to IEEE so that |> > >is the only part I really spent much time on. |> >
|> > Actually they are not really in band nor denormal. They used codes |> > that do not occur in the standard value encodings. |> |> They do not occur in the standard encodings but they could have. This |> would have lost those signals but made some more floating point |> values. In this way, they are "in band".
Not just in that way. The infinities are "in band" because they have many of the semantics of actual numbers. One can argue whether or not that is a good idea (I vacillate according to whether they help or hinder what I am doing!), but there is only one serious consistency errors with infinities in IEEE 754. There are lots more in C99 and IEEE 754R, of course.
That is that the sign of zero is unreliable, but dividing by it gives an infinity; if infinity was created only explicitly or by overflow, there would be no consistency problems.
NaNs were a bit of a mess in IEEE 754 and are a disaster area in C99 and IEEE 754R. God alone knows what they mean, because I know for certain that none of the people working on either of those two standards did or do.
Regards, Nick Maclaren.