public BigInt Add(BigInt val) { int carry = 0; BigInt c = new BigInt(0); BigIntList al = list; BigIntList bl = val.list; BigIntList cl = c.list; for (;;) { cl.n += carry; if (al != null) { cl.n += al.n; al = al.next; } if (bl != null) { cl.n += bl.n; bl = bl.next; } carry = cl.n / 1000000000; cl.n %= 1000000000; if (al != null || bl != null || carry > 0) { cl.next = new BigIntList(0); cl = cl.next; } else { break; } } return(c); }
public BigIntList(int n_) { n = n_; next = null; }
public BigInt(int n) { list = new BigIntList(n); }