title: Why do Primitive Data Types have a Fixed Size?
body: <p>In some of the programming languages, typically <em>C</em>, <em>C++</em> and <em>Java</em>, the integer data types are <code>int</code>, <code>short</code> and <code>long</code>.
  The <code>int</code> data type is usually 32-bit. The <code>short</code> data type is usually smaller than the <code>int</code> data type, and the <code>long</code> data type is usually larger than the <code>int</code> data type.</p>
  <p>The first <em>bit</em> of an integer data type is the <em>bit</em> sign.
  A negative number starts with '1' and a non-negative number starts with '0'.</p>
  <p>Therefore, a <em>32-bit data type normally</em> stores numbers in the range <code>-(2^31)</code> to <code>(2^31 - 1)</code>.</p>
  <ul>
  <li>Why can't we have a data type of unlimited size, so that we can store an unlimited range of numbers?</li>
  </ul>