Метод BigMul
Статический метод Math.BigMul принимает два
int, перемножает их в long и
возвращает long. Обычное умножение
int может переполниться, а BigMul
удерживает полный результат в более широком типе.
Синтаксис
long res = Math.BigMul(left, right);
Пример
Давайте перемножим
using System;
class Program
{
static void Main()
{
long res = Math.BigMul(100000, 100000);
Console.WriteLine(res);
}
}
Результат выполнения кода:
10000000000
Пример
Давайте сравним с обычным int без BigMul:
using System;
class Program
{
static void Main()
{
int overflow = 100000 * 100000;
long wide = Math.BigMul(100000, 100000);
Console.WriteLine(overflow);
Console.WriteLine(wide);
}
}
Результат выполнения кода:
1410065408
10000000000
Пример
Давайте умножим
using System;
class Program
{
static void Main()
{
long res = Math.BigMul(12345, 2);
Console.WriteLine(res);
}
}
Результат выполнения кода:
24690
Смотрите также
-
метод
DivRem,
который делит int с остатком -
метод
CopySign,
который задаёт знак double -
метод
BitDecrement,
который меняет double на ULP вниз -
метод
DivRem,
который работает с BigInteger