Building on that; precision, truncating and rounding ...
Say we wish to multiple two five digit numbers 1.2345 and 1234.5, the correct, accurate answer is 1523.99025 ( according to Windows Calculator ).
Because we can only store five digits, that can only be stored as "15239" with the decimal point after the 3, so we've lost some accuracy and some precision.
Likewise, 12345 times 12345 is a big number, but we can only keep the first five digits and indicate that the decimal point is way off to the right. What should be 152399025, we can only store as a number which represents 152390000.
Some Floating Point Units may do some rounding which adjusts the last digit up or down.
Another issue arises when dealing with decimal fractions in binary. Each bit after the decimal point represents 1/2, 1/4, 1/8 etc; with three bits after a decimal place, 0.5 = 0.100 in binary, 0.25 = 0.010, 0.125 = 0.001.
But how do we represent 0.6 ?
0.100 = 0.5
0.101 = 0.625 ( 0.5 + 0.125 )
The answer is we can't, not accurately, so this is another area of inaccuracy in Floating Point.
If we just had 0.6 we could have used 6 and indicated the decimal place was before the 6, but in other cases we run back into the problem of having only a limited number of digits we can use.