Ejemplo n.º 1
0
 public BigInteger Add(BigInteger value)
 {
     if (this.sign == 0)
     {
         return value;
     }
     if (this.sign == value.sign)
     {
         return this.AddToMagnitude(value.magnitude);
     }
     if (value.sign == 0)
     {
         return this;
     }
     if (value.sign < 0)
     {
         return this.Subtract(value.Negate());
     }
     return value.Subtract(this.Negate());
 }
Ejemplo n.º 2
0
 public BigInteger Subtract(BigInteger n)
 {
     BigInteger integer;
     BigInteger integer2;
     if (n.sign == 0)
     {
         return this;
     }
     if (this.sign == 0)
     {
         return n.Negate();
     }
     if (this.sign != n.sign)
     {
         return this.Add(n.Negate());
     }
     int num = CompareNoLeadingZeroes(0, this.magnitude, 0, n.magnitude);
     if (num == 0)
     {
         return Zero;
     }
     if (num < 0)
     {
         integer = n;
         integer2 = this;
     }
     else
     {
         integer = this;
         integer2 = n;
     }
     return new BigInteger(this.sign * num, doSubBigLil(integer.magnitude, integer2.magnitude), true);
 }