MichaelBenjamin wrote:add dc of say 500 000 and hear if it makes a difference.
Adding a large fixed number will reduce the resolution, as you would be confining the original +1/-1 to fewer bits in the mantissa of the float number. The bigger the number you add, the lower the resolution of the smaller part that you are interested in.
As a simple analogy, imagine I have a calculator that can only show 8 digits. The decimal point can be shown at any place across the screen - so it is a sinple form of 'floating point' maths.
so..
4.5 +
3.0002
=7.5002No problem, the decimal place moved further left, and we can still see the whole result.
But...
10000000 +
3.0002
=10000003Or
0.0000001 /
10
=
0.0000000Something is lost with these examples because there are no more digits left or the decimal point couldn't move any further.
Float numbers work very much like this - there are 23 bits representing the 'digits' (matissa) and 8 bits representing the 'position of the decimal point' (exponent), plus a sign bit for +/-.
Scaling (multiplying) your input wouldn't alter the precision (same number of digits), but might allow a feedback loop to go on longer before the numbers got too small (run out of decimal places). But in practice those numbers are so small, that a soundcard could never represent them anyway.
The Wiki article about IEEE754 has a few useful explanations and tables about the limitations of float numbers.