title: Dividing two extremely large numbers represented as a linked list of unsigned long longs
body: <p>I am working in c and as said in the title, I have a <code>struct</code> that is a node for a doubly linked list of <code>unsigned long longs</code> that represent extremely large numbers. </p>
  
  <p>I need to implement basic arithmetic on them and have accomplished <code>+</code>,<code>-</code>,<code>*</code> but I still need division. I have seen answers for arithmetic on large numbers represented as linked lists but my problem has another part, overflow. </p>
  
  <p>I am currently trying long division and my problem is that when the first digit(<code>unsigned long long</code>) does not evenly divide then there is the remainder which gets carried into a two digit(two <code>unsigned long long</code>s) number. I do not know how to divide a large number represented as two <code>ull</code>s by a <code>ull</code> while keeping precision. The division function will only ever be called on two numbers where the second divides the first evenly. </p>
  
  <p>Not sure what other info I need to give but I am stuck here and any intuition would help, thanks.</p>
  
  <p>Edit: I apologize for my apparent newness to StackOverflow but for those curious the way I ended up solving the problem was by treating the numbers as binary and doing division bit by bit. This solution eliminates the problems I had.</p>