Reply by Michel Rouzic June 5, 20052005-06-05
> True, but a good hex editor will offer a mode to interpret the data as IEEE > floating point.
true, just like hex workshop. after all, its up to programs/machines to read the binary/hexadecimal stuff, and since my hex editor can interpret floats and doubles both in little-endian and big-endian, i have no reason to complain :)
Reply by Jon Harris June 5, 20052005-06-05
"glen herrmannsfeldt" <gah@ugcs.caltech.edu> wrote in message
news:ge2dncQrXdNNMD_fRVn-jQ@comcast.com...
> Michel Rouzic wrote: > > >>Not so much hidden as assumed. The way floating-point numbers are > >>normalized, the most significant bit of the mantissa is always 1.* That > >>being the case, there's no need to waste space representing it; just > >>assume it's there. > > > oh yeah, i remeber that, i learnt that at school. and damn, i got bad > > memories from trying to write by hand IEEE floats in binary, in > > architecture tests and all that. yeah, that hidden bit makes me think > > that it's definitly a smart way to represent floats. > > Before I ever heard of hidden bits I learned to read S/360 floating > point from hex dumps. There are six, 14, or 28 hex digits, and an > exponent giving the position of the hexadecimal point. Very easy. > > Reading IEEE floats from a hex dump is much harder.
True, but a good hex editor will offer a mode to interpret the data as IEEE floating point.
Reply by Everett M. Greene June 5, 20052005-06-05
glen herrmannsfeldt <gah@ugcs.caltech.edu> writes:
> Michel Rouzic wrote: > > >>Not so much hidden as assumed. The way floating-point numbers are > >>normalized, the most significant bit of the mantissa is always 1.* That > >>being the case, there's no need to waste space representing it; just > >>assume it's there. > > > oh yeah, i remeber that, i learnt that at school. and damn, i got bad > > memories from trying to write by hand IEEE floats in binary, in > > architecture tests and all that. yeah, that hidden bit makes me think > > that it's definitly a smart way to represent floats. > > Before I ever heard of hidden bits I learned to read S/360 floating > point from hex dumps. There are six, 14, or 28 hex digits, and an > exponent giving the position of the hexadecimal point. Very easy. > > Reading IEEE floats from a hex dump is much harder.
Talking about reading memory dumps says something about your age. :-) Mentioning hex dumps further categorizes your history as does your frequent postings to the PL/I newsgroup.
Reply by glen herrmannsfeldt June 5, 20052005-06-05
Michel Rouzic wrote:

>>Not so much hidden as assumed. The way floating-point numbers are >>normalized, the most significant bit of the mantissa is always 1.* That >>being the case, there's no need to waste space representing it; just >>assume it's there.
> oh yeah, i remeber that, i learnt that at school. and damn, i got bad > memories from trying to write by hand IEEE floats in binary, in > architecture tests and all that. yeah, that hidden bit makes me think > that it's definitly a smart way to represent floats.
Before I ever heard of hidden bits I learned to read S/360 floating point from hex dumps. There are six, 14, or 28 hex digits, and an exponent giving the position of the hexadecimal point. Very easy. Reading IEEE floats from a hex dump is much harder. -- glen
Reply by Jerry Avins June 4, 20052005-06-04
Michel Rouzic wrote:
>>Not so much hidden as assumed. The way floating-point numbers are >>normalized, the most significant bit of the mantissa is always 1.* That >>being the case, there's no need to waste space representing it; just >>assume it's there. >> >>Jerry >>__________________________________ >>* Decimal floats are represented as x.y*10^n, binary floats, as x.y*2^n, >>where x is a single non-zero digit. In decimal, x can be 1, 2, ... 9. In >>binary, it is always 1 and can be assumed. >>-- >>Engineering is the art of making what you want from things you can get. >>&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095; > > > oh yeah, i remeber that, i learnt that at school. and damn, i got bad > memories from trying to write by hand IEEE floats in binary, in > architecture tests and all that. yeah, that hidden bit makes me think > that it's definitly a smart way to represent floats.
Smart for general-purpose use, or when you need (or don't know you don't need) the extra precision. Dumb when you know you don't. Jerry -- Engineering is the art of making what you want from things you can get. &#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;
Reply by Michel Rouzic June 4, 20052005-06-04
> Not so much hidden as assumed. The way floating-point numbers are > normalized, the most significant bit of the mantissa is always 1.* That > being the case, there's no need to waste space representing it; just > assume it's there. > > Jerry > __________________________________ > * Decimal floats are represented as x.y*10^n, binary floats, as x.y*2^n, > where x is a single non-zero digit. In decimal, x can be 1, 2, ... 9. In > binary, it is always 1 and can be assumed. > -- > Engineering is the art of making what you want from things you can get. > =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=
=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF= =AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF=AF oh yeah, i remeber that, i learnt that at school. and damn, i got bad memories from trying to write by hand IEEE floats in binary, in architecture tests and all that. yeah, that hidden bit makes me think that it's definitly a smart way to represent floats.
Reply by robert bristow-johnson June 4, 20052005-06-04
in article 1117888476.783826.31940@g49g2000cwa.googlegroups.com, Michel
Rouzic at Michel0528@yahoo.fr wrote on 06/04/2005 08:34:

>> I'm thinking of the things like the "hidden >> bit" which increases your precision by ~6dB for "free" and denormals. > > hidden bit? what is that?
there's a nice webpage (probably dozens of them) on the subject at http://stevehollasch.com/cgindex/coding/ieeefloat.html . go to "The Mantissa". -- r b-j rbj@audioimagination.com "Imagination is more important than knowledge."
Reply by Jerry Avins June 4, 20052005-06-04
Michel Rouzic wrote:
>>I'm thinking of the things like the "hidden >>bit" which increases your precision by ~6dB for "free" and denormals. > > > hidden bit? what is that?
Not so much hidden as assumed. The way floating-point numbers are normalized, the most significant bit of the mantissa is always 1.* That being the case, there's no need to waste space representing it; just assume it's there. Jerry __________________________________ * Decimal floats are represented as x.y*10^n, binary floats, as x.y*2^n, where x is a single non-zero digit. In decimal, x can be 1, 2, ... 9. In binary, it is always 1 and can be assumed. -- Engineering is the art of making what you want from things you can get. &#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;&#2013266095;
Reply by Michel Rouzic June 4, 20052005-06-04
> I'm thinking of the things like the "hidden > bit" which increases your precision by ~6dB for "free" and denormals.
hidden bit? what is that?
Reply by Jon Harris June 3, 20052005-06-03
"robert bristow-johnson" <rbj@audioimagination.com> wrote in message
news:BEC63948.7EE5%rbj@audioimagination.com...
> in article 11a1bf2ta619674@corp.supernews.com, Jon Harris at > jon_harrisTIGER@hotmail.com wrote on 06/03/2005 15:23: > > > "Michel Rouzic" <Michel0528@yahoo.fr> wrote in message > > news:1117819203.135271.290510@g44g2000cwa.googlegroups.com... > >> > >> maybe, but the only silly thing about IEEE floating point > >> representation is the question people can ask because if you understand > >> it good (and im sure you do) you realize that there is no better way to > >> represent floats (unless there's a smarter way i havent heard of) > > > > Even though some of the features of IEEE floating point make designing > > hardware to use it more complicated, those same features make it a pretty
nice
> > way to represent floating point values. I'm thinking of the things like the > > "hidden bit" which increases your precision by ~6dB for "free" and
denormals.
> > it's also a bitch to deal with in software (a floating-point library running > on an integer machine), largely for the same reasons. i've complained about > this some years ago here on comp.dsp . i have to admit now, that although i > then hated the "hidden 1 MSB", it's probably a good thing they put it in. > but it *is* ugly.
Yep, it's a double-edged sword: nice for the user, but more difficult to implement in either hardware or software emulation. When I was in college, a lab problem we had in our microprocessor design class was to write IEEE floating-point addition and multiplication routines (in assembler) on a Motorola integer chip (68000 family maybe?). It was surprisingly difficult and took quite a bit of code for such seemingly simple tasks.