Saw this one about floats: "Working with floating point is like moving piles of sand. Every time you move one you lose a little sand and pick up a little dirt."
In practice you can do a lot of things with floating points, they have their own points of extra attention, just like integers and bytes etc.
e.g. adding 0.1 in a loop give another kind of error that calculating the next value with a multiply
float f = 0;
while (f< 1.0)
{
Serial.println(f, 8);
f += 0.01;
}
float f = 0;
int n = 0;
while ( f < 1.0);
{
Serial.println(f, 8);
n++;
f = n*0.01;
}
In the first loop 100 rounding errors add up, in the second there is only one rounding error (OK it uses an extra integer)