title: On a 16-bit microprocessor, should I be using datatype short instead of int?
body: <p>I've read that using <code>short</code> vs <code>int</code> is actually creating an inefficiency for the compiler in that it needs to use the <code>int</code> datatype regardless because of C integer promotion.  Is this true for 16-bit microprocessors?</p>
  
  <p>Another question: If I have an array of 1s and 0s, is it most efficient to use <code>uint8_t</code> or the <code>unsigned char</code> in this 16-bit microprocessor?  Or is there still an issue with it being converted back to int.. </p>
  
  <p>Please help me clear up this muddy issue in my mind.  Thanks!</p>