Ejemplo n.º 1
0
 public void AddTo(BigNumber num)
 {
     if (num.Sign != this.Sign) {
         int compare = num.CompareAbsolute(this);
         if (compare < 0) {
             AbsoluteSubtractFrom(num, this);
             this.Sign = num.Sign;
         } else if (compare > 0) {
             AbsoluteSubtractFrom(this, num);
             this.Digits = num.Digits;
         } else {
             this.Clear();
             this.Sign = enumSign.Positive;
         }
     } else {
         AbsoluteAddTo(num);
     }
 }
Ejemplo n.º 2
0
 public void MultiplyBy(BigNumber num)
 {
     BigNumber thisOriginal = new BigNumber();
     thisOriginal.Digits = this.Digits;
     for (int index = 0; index < num.Count; index++) {
         if (num[index] > 0) {
             MultiplyRecurive(index, num[index], thisOriginal);
         }
     }
     if (num.Sign != this.Sign) {
         this.Sign = enumSign.Negative;
     } else if (this.Sign == enumSign.Negative) {
         this.Sign = enumSign.Positive;
     }
 }