...
[Harold 1999]
[JLS 2005] Section 5.1.3, "Narrowing Primitive Conversions"
...
NUM14-J. Do not rely on the default string representation of floating point values 03. Integers (INTNumeric Types and Operations (NUM) NUM01NUM16-J. Do not assume that the remainder operator always returns a non-negative result for integral operandsConvert integers to floating point for floating point operations