title: Can the type difference between constants 32768 and 0x8000 make a difference?
body: <p>The Standard specifies that hexadecimal constants like 0x8000 (larger than fits in a signed integer) are unsigned (just like octal constants), whereas decimal constants like 32768 are signed long. (The exact types assume a 16-bit integer and a 32-bit long.) However, in regular C environments both will have the same representation, in binary <code>1000 0000 0000 0000</code>.
  Is a situation possible where this difference really produces a different outcome? In other words, is a situation possible where this difference matters at all?</p>