
Ben Robinson wrote:
On Wed, Feb 22, 2012 at 9:38 AM, Robert Ramey <ramey@rrsd.com> wrote:
Ben Robinson wrote:
Overflow (positive and negative) are not possible with division and modulus.
hmmm - what happens when an unsigned integer is divided by a negative number? Doesn't this overflow or something?
A positive whole number divided by a negative whole number is a negative value which is smaller in magnitude than the original numerator.
I am aware of this. but what is the result of this operation? To be correct it would have to be negative. But the numerator is unsigned. How is this resolved? To take a pathological case: unsigned int x = std::numeric_limits<unsigned int>::max(); x = x / (-1); Will this throw? or fail at compile time, or what? Robert Ramey