When converting a value of integer or unscoped enumeration type
to a floating-point type,
if the value is not representable in the destination type
the behavior is undefined.
[Example 1: int main(){unsignedlonglong x2 =-1;
float f = x2; // undefined behavior on systems where f does not include// a representation for infinity and the maximum value for float// is smaller than the maximum value for unsigned long long} — end example]