Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

เมธอด Math.BigMul ใน C#


ภาพรวม

เมธอด Math.BigMul ใช้คูณจำนวนเต็ม 32 บิตสองจำนวน และคืนค่าผลคูณเป็น 64 บิต (long) ป้องกันล้น (overflow) ที่อาจเกิดขึ้นหากคูณด้วยตัวดำเนินการ * ธรรมดา

รูปแบบการใช้งาน

int one = 345272828;
int two = 887685744;
long result = Math.BigMul(one, two);

ตัวอย่างโค้ดเต็ม

using System;

class Demo
{
    static void Main()
    {
        int one = 345272828;
        int two = 887685744;
        long res = Math.BigMul(one, two);
        Console.WriteLine("{0} * {1} = {2}", one, two, res);
    }
}

ผลลัพธ์

345272828 * 887685744 = 306493767206164032

เมื่อไหร่ควรใช้ BigMul

  • คูณ int สองจำนวนที่ผลคูณอาจเกิน Int32.MaxValue (2,147,483,647)
  • ต้องการความแม่นยำเต็มที่โดยไม่ต้องแปลงเป็น long ก่อนคูณ
  • ประสิทธิภาพดีกว่าการแปลงเป็น long แล้วคูณ