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