ภาพรวม
เมธอด 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แล้วคูณ