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

Метод wrapping_neg

Метод wrapping_neg возвращает значение, противоположное исходному числу по знаку, то есть выполняет операцию -self. Если при этом происходит переполнение (например, для минимального значения i32), метод не паникует, а выполняет циклический перенос значения. Параметров метод не принимает.

Синтаксис

i32.wrapping_neg()

Пример

Давайте получим отрицание положительного числа 5:

fn main() { let res = 5i32.wrapping_neg(); println!("{}", res); }

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

-5

Пример

Давайте получим отрицание отрицательного числа -5:

fn main() { let res = (-5i32).wrapping_neg(); println!("{}", res); }

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

5

Пример

Давайте применим метод к минимальному значению i32, для которого обычное отрицание вызывает переполнение:

fn main() { let res = i32::MIN.wrapping_neg(); println!("{}", res); }

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

-2147483648

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

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