Math.BigMul(int a, int b) दो 32-बिट साइन्ड इंटीजर्स को गुणा करके **64-बिट (long) परिणाम** लौटाता है, जिससे ओवरफ्लो बचता है।
उदाहरण
using System;
using System.Globalization;
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
क्यों उपयोगी?
int * int→int(ओवरफ्लो होकर कट जाता है)।long res = (long)a * bकाम करता है लेकिनBigMulइरादा स्पष्ट करता है।- क्रिप्टोग्राफी, हैशिंग, बड़ी संख्या गणित में उपयोगी।
संबंधित
Math.MultiplyHigh(.NET 7+): केवल उच्च 64 बिट्स।BigInteger(System.Numerics): असीमित परिशुद्धता।