public LongDecimal Plus(LongDecimal a, LongDecimal b)
        {
            a.Adduction(ref a, ref b);
            LongDecimal c = new LongDecimal("1.0", a.e);

            c.e = a.e;
            if (a.z && b.z)
            {
                c.m = c.m.Plus(a.m, b.m);
            }
            if (!(a.z || b.z))
            {
                c.m = c.m.Plus(a.m, b.m);
                c.z = false;
            }
            if (!a.z && b.z)
            {
                c = c.Minus(b, a);
            }
            if (a.z && !b.z)
            {
                c = c.Minus(a, b);
            }
            a = Reduction(a);
            b = Reduction(b);
            c = c.Reduction(c);
            return(c);
        }
        public LongDecimal Minus(LongDecimal a, LongDecimal b)
        {
            a.Adduction(ref a, ref b);
            LongDecimal c = new LongDecimal("1.0", a.e);

            c.e = a.e;
            if (a.m.StringComparer(b.m.x, a.m.x))
            {
                c   = new LongDecimal("-1.0", a.e);
                c.e = a.e;
                c.m = c.m.Minus(b.m, a.m);
            }
            else
            {
                c.m = c.m.Minus(a.m, b.m);
            }

            c = c.Reduction(c);
            return(c);
        }