- unsigned_type const max = (std::numeric_limits<out_type>::max)() + (is_negative ? 1 : 0);
- unsigned_type const cutoff = max / base;
- unsigned int const cutlim = max % base;
+ unsigned_type const max = (std::numeric_limits<out_type>::max)();
+ unsigned_type const umax = max + (is_negative ? 1 : 0);
+ unsigned_type const cutoff = umax / base;
+ uint_type const cutlim = umax % base;