3.2.1.3 Floating and integral
When a value of floating type is converted to integral type, the
fractional part is discarded. If the value of the integral part
cannot be represented by the integral type, the behavior is undefined.
/23/
Footnote /23/ is:
23. The remaindering operation done when a value of integral type is
converted to unsigned type need not be done when a value of floating
type is converted to unsigned type. Thus the range of portable values
is [0, U type _MAX +1).
Looks clear-cut to me ...
Philipp