Метод checked_mul
Метод checked_mul выполняет умножение
двух чисел типа i32 и проверяет,
не произошло ли переполнение. Если результат
умножения помещается в диапазон i32,
метод возвращает Some с результатом.
Если же происходит переполнение, возвращается
None. Параметром метод принимает
второе число для умножения.
Синтаксис
i32.checked_mul(rhs)
Пример
Давайте умножим число 1000 на 2000
и проверим результат:
fn main()
{
let res = 1000i32.checked_mul(2000);
println!("{:?}", res);
}
Результат выполнения кода:
Some(2000000)
Пример
Давайте попробуем умножить число i32::MAX
на 2, что вызовет переполнение:
fn main()
{
let res = i32::MAX.checked_mul(2);
println!("{:?}", res);
}
Результат выполнения кода:
None
Пример
Давайте умножим отрицательное число -500
на 300:
fn main()
{
let res = (-500i32).checked_mul(300);
println!("{:?}", res);
}
Результат выполнения кода:
Some(-150000)
Смотрите также
-
метод
checked_add,
который выполняет сложение с проверкой переполнения -
метод
checked_sub,
который выполняет вычитание с проверкой переполнения -
метод
checked_div,
который выполняет деление с проверкой переполнения -
метод
wrapping_mul,
который выполняет умножение с циклическим переполнением