Ejemplo n.º 1
0
        public static LongNumber Copy(LongNumber MyList1)
        {
            LongNumber temp = new LongNumber();

            for (int i = 0; i < MyList1.Length; i++)
            {
                temp.Push(MyList1[i]);
            }
            return(temp);
        }
Ejemplo n.º 2
0
        public static LongNumber operator -(LongNumber number1, LongNumber number2)
        {
            if (number1 < number2)
            {
                return(null);
            }

            if (number1 == number2)
            {
                return(new LongNumber(0));
            }

            LongNumber result = new LongNumber(0);


            for (int i = 0; i < number1.Length; i++)
            {
                if (i < number1.Length - 1)
                {
                    result.Push(0);
                    (result)[i + 1] = (result)[i + 1] - 1;
                    (result)[i]     = (result)[i] + 10 + number1[i];
                }
                else
                {
                    result[i] = result[i] + number1[i];
                }

                if (i < number2.Length)
                {
                    result[i] = result[i] - number2[i];
                }

                if (result[i] / 10 > 0 && i < number1.Length - 1)
                {
                    (result)[i + 1] = (result)[i + 1] + 1;
                    result[i]       = result[i] % 10;
                }
            }

            int j = result.Length - 1;

            while (result[j] <= 0 && j > 0)
            {
                result.Pop();
                j--;
            }
            return(result);
        }