title: How does BigInteger store its data?
body: <p>I've been searching around for quite a while, and I've found almost nothing on how <code>BigInteger</code> actually holds its numbers. Are they an array of chars? Something else? And how is data converted to/from <code>BigInteger</code>?</p>
  
  <p>From what I've found, I am assuming that all of arbitrary precision classes, like <code>BigInteger</code> and <code>BigDecimal</code>, hold data as a character array. Is this how it actually works? Or is it just people's guess?</p>
  
  <p>I'm asking because I have been working on my own implementation of something like <code>BigInteger</code>, but I can't figure out how to hold numbers larger than <code>Long.MAX_VALUE</code> (I don't remember the actual number).</p>
  
  <p>Thanks in advance.</p>