 
                            Incautious use of integer arithmetic to calculate a value for assignment to a floating-point variable can lead to loss of information. Recall, for example, that integer arithmetic always produces integral results, consequently losing information about any possible fractional remainder. Further, there can be loss of precision when converting integers to floating-point values; see guideline FLP10-J. Do not cast primitive integer types Beware of precision lost when casting primitive integers to floating-point types without range checks for additional information. Correct programming of expressions that mix integer and floating point operations or values requires careful consideration.
...