Float compression [Re: floating point math results question]
peter at engcorp.com
Sun Jan 27 02:31:55 CET 2002
François Pinard wrote:
> [Peter Hansen]
> > [Phil Hunt]
> > > [Courageous]
> > > >Second, as an academic exercise, you may now attempt to represent the
> > > >number 0.8 [that is: 4.0/5.0] ]as a 32 bit binary value.
> > > I can do it in 24 binary bits: 00110000 00101110 00111000
> > Naw, that was 26 ASCII characters. The original "0.8" is 24 bits.
> > I can do it in 16 bits: ".8" !! Fewer if you are willing to drop the
> > leading binary zeros. <grin>
> I guess that it is an interesting exercise, trying to represent an arbitrary
> float number within a given tolerance, with a small number of bits.
I think you have to take into account dynamic range. If I said I want
to represent 0.8 accurately "in binary", with a dynamic range from 0.0 to
1.0, I could just use four bits (fixed point). I'd even have five values
left over for representing special cases, if I were writing this in
assembly on a machine with 128 bytes of memory, twenty years ago. :-)
Actually, I guess we're talking about two different things, since you
mentioned "floats" and I mentioned "fixeds".
More information about the Python-list