コード例 #1
0
        protected void TestButton_Click(object sender, EventArgs e)
        {
            // Reduce Max Bytes for demo purposes.
            BigInt.MaxBytes = 0x20;
            BigInt r;

            WriteLog("// Import from HEX and DEC strings.");
            WriteLog("var n1 = new BigInt(\"0x010203040506\");");
            WriteLog("var n2 = new BigInt(\"-280422911905295\");");
            var n1 = new BigInt("0x010203040506");
            var n2 = new BigInt("-280422911905295");

            WriteLog("//-----------");
            WriteBi("n1", n1);
            WriteBi("n2", n2);
            WriteLog("//-----------");
            // Negate.
            var nn1 = new BigInt();
            var nn2 = new BigInt();

            nn1.CopyFrom(n1);
            nn2.CopyFrom(n2);
            BigInt.Negate(nn1);
            BigInt.Negate(nn2);
            WriteBi("n1 * -1", nn1);
            WriteBi("n2 * -1", nn2);
            // Add and subtract.
            r = BigInt.Add(n1, n2);
            WriteBi("n1 + n2", r);
            WriteBi("   - n2", BigInt.Subtract(r, n2));
            WriteBi("   - n1", BigInt.Subtract(r, n1));
            // Multiply and divide.
            r = BigInt.Multiply(n2, n1);
            WriteBi("n1 * n2", r);
            WriteBi("   / n1", BigInt.Divide(r, n2)[0]);
            WriteBi("   / n2", BigInt.Divide(r, n1)[0]);
        }