On 22 April 2015 at 19:44:26, William Huston ([email protected]) wrote:

On Wednesday, April 22, 2015, Jamie Bullock <[email protected]> wrote:
>
> Pd is 32-bit *floating point*, so you have 32-bit resolution between -1 and 1.

I don't think that's right.

The range of a single precision floating point number is from

-3.4028234 × 10E38 to 3.4028234 × 10E38 (not from -1 to 1)


True, but I didn’t say the range of 32-bit float was -1 to 1!

There are only 23 bits of precision for the mantissa + 1 for sign in a single 
precision float.


Also true, but when I said “resolution” I didn’t mean “precision”. Because the 
exponent can be negative, resolution scales dynamically from 1..0 according to 
the value of the exponent, whilst precision stays fixed according to the number 
of bits in the mantissa. Thus for very small values the resolution (or 
quantisation step size) is far finer than can be represented with the mantissa 
alone. 

What I was trying to put across (poorly!) in my original reply is that unlike 
fixed point where for lower order values fewer bits are available in the binary 
representation, with floating point, just because e.g. -1..1 is a smaller range 
than -3.4 x 10E38..3.4 x 10E38 it doesn’t imply “fewer are bits available”, e.g.

Sign            Exponent                Mantissa
0               01111110        11111111111111111111111         -> 0.99999994
0               00000001        11111111111111111111111         -> 2.3509886E-38
1               01000000        0000000000000000000000  -> -1.0842022E-19
1              011111110        0000000000000000000000  -> -1.0

Strictly speaking, I guess only 31 bits “count” in the range -1..1 due to a 
maximum of 7-bits being significant in the exponent.

best,

Jamie
_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list

Reply via email to