title: unsigned short integer promotion in 32-bit system
body: <p>I have a 32-bit integer size</p>
  
  <p>if I have an arithmetic expression like</p>
  
  <pre><code>unsigned short current_time, last_time
  if((current_time - last_time) &gt; timeout)
  </code></pre>
  
  <p>I believe current_time and last_time will both be converted to signed int 32 before the subtraction. There are no problems with a 16-bit integer size system, but with this 32-bit integer size system will there be potential for a negative value because of the integer promotion?</p>