the calculations are all done internally as floating point with no loss,

This is a fallacy; floating point (or fixed point, for that matter) calculations are not lossless

*****. There is no such thing as infinite precision in computing.

Integer calculations, on the other hand,

*are* lossless as long as you don't go out of bounds.

***** Not all floating point or fixed point calculations are lossy, though.