title: How does Ruby store large numbers?
body: <p>Ruby can store extremely large numbers. Now that I think about it though, I don't even know how that's possible.</p>
  
  <p>Computers store data in a series of two digits (0s and 1s). This is referred to as binary notation. However, there is a limit to the size of numbers they can store.</p>
  
  <p>Most current Operating Systems these days run at 64 bits. That means the highest allocatable address space for a variable is 64 bits.</p>
  
  <p>Integers are stored in a base 2 system, which means the highest value a computer should be able to store is</p>
  
  <pre><code>1111111111111111111111111111111111111111111111111111111111111111
  </code></pre>
  
  <p>Since computers can only read 2 possible values, this means the above number can be represented as</p>
  
  <pre><code>2 ^ 64
  </code></pre>
  
  <p>This means that the highest value an integer can read should be at most 18,446,744,073,709,551,615</p>
  
  <p>I honestly don't even understand how it's possible to store integer values higher than that.</p>