There is this article about conversions in Direct3D: https://docs.microsoft.com/en-us/windows/win32/direct3d10/d3d10-graphics-programming-guide-resources-data-conversion
I do not understand the part of conversion from higher to lower precision:
Round-to-zero is used during conversion to another float format. If the target is an integer or fixed point format, round-to-nearest-even is used, unless the conversion is explicitly documented as using another rounding behavior, such as round-to-nearest for FLOAT to SNORM, FLOAT to UNORM or FLOAT to SRGB.
What does round-to-zero mean, e.g. if I want to convert float -> half? What does round-to-nearest-even mean, e.g. for half->unorm?
Why is one round-to-nearest-even while another conversion is round-to-nearest?
Phrased differently, how do these conversions work?