РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
332 of 1245 menu

Метод saturating_add

Метод saturating_add выполняет сложение двух чисел типа i32 с насыщением. Если результат сложения выходит за пределы допустимого диапазона значений i32, метод возвращает ближайшее граничное значение вместо паники или переполнения. Параметром метод принимает число, которое нужно прибавить к текущему значению.

Диапазон значений i32 составляет от -2147483648 до 2147483647. Если при сложении результат превышает максимальное значение, возвращается 2147483647. Если результат меньше минимального значения, возвращается -2147483648.

Синтаксис

i32.saturating_add(rhs)

Пример

Давайте сложим число 100 и число 200:

fn main() { let res = 100i32.saturating_add(200); println!("{}", res); }

Результат выполнения кода:

300

Пример

Давайте сложим максимальное значение i32 с числом 1:

fn main() { let res = 2147483647i32.saturating_add(1); println!("{}", res); }

Результат выполнения кода:

2147483647

Как видите, вместо переполнения метод вернул максимальное значение 2147483647.

Пример

Давайте сложим минимальное значение i32 с числом -1:

fn main() { let res = (-2147483648i32).saturating_add(-1); println!("{}", res); }

Результат выполнения кода:

-2147483648

Как видите, вместо переполнения метод вернул минимальное значение -2147483648.

Смотрите также

  • метод checked_add,
    который выполняет сложение с проверкой переполнения
  • метод wrapping_add,
    который выполняет сложение с циклическим переполнением
  • метод overflowing_add,
    который выполняет сложение и возвращает флаг переполнения
  • метод saturating_sub,
    который выполняет вычитание с насыщением
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить