title: In C, how to get calculate the negative of an unsigned quantity
body: <p>In K&amp;R ANSI C book, section A.7.4.5 (Unary Minus Operator) it is stated:</p>
  
  <blockquote>
    <p>... The negative of an unsigned quantity is computed by subtracting the promoted value from the largest value of the promoted type and adding one; ...</p>
  </blockquote>
  
  <p>How exactly is this calculated?  Could you give a short C example? </p>
  
  <p>I don't see how this could yield the negative of, say, 200u: subtracting 200 from a max value of any integral type (signed or unsigned) and adding 1 does not result in -200.</p>
  
  <p>I know what the Unary minus does - the problem is that I don't see how the result is calculated according to the description.</p>