Fix.
diff --git a/include/fast_float/float_common.h b/include/fast_float/float_common.h
index 172591d..1998b10 100644
--- a/include/fast_float/float_common.h
+++ b/include/fast_float/float_common.h
@@ -573,7 +573,7 @@
 fastfloat_really_inline FASTFLOAT_CONSTEXPR20
 void to_float(bool negative, adjusted_mantissa am, T &value) {
   using fastfloat_uint = typename binary_format<T>::equiv_uint;
-  fastfloat_uint word = (uint)am.mantissa;
+  fastfloat_uint word = (fastfloat_uint)am.mantissa;
   word |= fastfloat_uint(am.power2) << binary_format<T>::mantissa_explicit_bits();
   word |= fastfloat_uint(negative) << binary_format<T>::sign_index();
 #if FASTFLOAT_HAS_BIT_CAST