i have my own definition of dynamic range, at least in the audio application:
Dynamic range in dB is the sum of the signal-to-noise ratio in dB plus the headroom in dB.
now to be fair, if we compare fixed to floating point, we should use the same word width.
let's say 32 bit-bit words with an 8-bit exponent for the floats. then it depends on the headroom you require. if you need more than 40 dB of headroom, then the 32-bit floats (with 8 bits of exponent) will give you better S/N. but if you don't need 40 dB of headroom, then the 32-bit fixed-point values will give you better S/N.
looks like you're looking for headroom. 32-bit floats with 8-bit exponents have something like 15301523 dB of headroom for the smallest normalized floats. that plus the 150 dB S/N + headroom for the 25-bit mantissa (counting the sign bit and the "hidden 1" bit) gives you 16801673 dB dynamic range.
is that enough for your application?