When a long double
is converted to a double
or float, or
when a double
is converted to a float,
the original value is rounded to the nearest representable value
as the new type. If the original value is equally close to two distinct
representable values, then the value chosen is the one with the
least significant bit equal to zero.