/// <summary> /// Mul のテスト /// </summary> /// <param name="m">テスト入力(オペランド1)</param> /// <param name="n">テスト入力(オペランド2)</param> static void TestMul(ulong m, ulong n) { BitField a, b; a = BitField.Create(31, 0, m); b = BitField.Create(31, 0, n); BitField p = SampleLogic.Mul(a, b); ulong tmp1 = p.Value; ulong tmp2 = unchecked ((ulong)((long)(int)a.Value * (long)(int)b.Value)); Console.Write("{0:x8}×{1:x8} = ", (int)a.Value, (int)b.Value); Console.Write("{0:x16} ({1:x16})", tmp1, tmp2); if (tmp1 != tmp2) { Console.Write(" ** "); Console.ReadLine(); } Console.Write("\n"); }