As it states from oracle
Reference from Oracle Docs
Widening Primitive Conversion 19 specific conversions on primitive types are called
It is considered widening because the numbers that can be represented by a float is larger than numbers that can represented by long. Just because float uses 32 bit precision does not mean the numbers it can represent are limited to 2^32.
For instance the float (float)Long.MAX_VALUE+(float)Long.MAX_VALUE
is larger than Long.MAX_VALUE
, even though the float has less precision that the long.