title: 8 bit int vs 32 bit int on a 32 bit architechture (GCC)
body: <p>While coding, I try not to use more variable memory than needed and that leads me to write code like this:</p>
  
  <pre><code>for (uint8 i = 0; i &lt; 32; i++) {
     ...
  }
  </code></pre>
  
  <p>instead of:</p>
  
  <pre><code>for (int i = 0; i &lt; 32; i++) {
     ...
  }
  </code></pre>
  
  <p>(<code>uint8</code> instead of <code>int</code> because <code>i</code> only need to go up to 32)</p>
  
  <p>This would make sense when coding on an 8bit microprocessor. However, am I saving any resources if running this code on a 32bit microprocessor (where <code>int</code> might be 16 or 32 bit)? Does a compiler like GCC do any magic/juju underneath when I explicitly use an 8bit <code>int</code> on a 32bit architecture?</p>