title: Why 32-bits OS supports up to 4 GB RAM
body: <p>So I knew that a 32-bits OS can support 2<sup>32</sup> different values, which is approximately 4x10<sup>9</sup>. </p>
  
  <p>I would imagine that the internal representation of each value is like this:</p>
  
  <p>0000 0000 0000 0000 0000 0000 0000 0000 </p>
  
  <p>.....</p>
  
  <p>1111 1111 1111 1111 1111 1111 1111 1111</p>
  
  <p>So we have approximately 4x10<sup>9</sup> different patterns here.
  But Since each address consists of 4 bytes (32/8=4), shouldn't the RAM be 
  4x4x10<sup>9</sup>?</p>