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

Метод swap_bytes

Метод swap_bytes меняет порядок байтов в числе типа i32 на противоположный. Он возвращает новое значение, в котором первый байт становится последним, второй - предпоследним и так далее. Метод не принимает параметров и не изменяет исходное число.

Чаще всего метод используется при работе с сетевыми протоколами и бинарными форматами данных, где порядок байтов (endianness) может отличаться на разных платформах.

Синтаксис

i32.swap_bytes()

Пример

Давайте поменяем порядок байтов у числа 1 и выведем результат в шестнадцатеричном виде:

fn main() { let res = 1i32.swap_bytes(); println!("{:#010X}", res); }

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

0x01000000

Пример

Давайте применим метод дважды к числу 12345 и убедимся, что двойной обмен байтов возвращает исходное значение:

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

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

12345

Пример

Давайте посмотрим, как меняется число 305419896 при обмене байтов:

fn main() { let num = 305419896i32; let res = num.swap_bytes(); println!("{} -> {}", num, res); }

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

305419896 -> 2018915346

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

  • метод rotate_left,
    который выполняет циклический сдвиг битов влево
  • метод rotate_right,
    который выполняет циклический сдвиг битов вправо
  • метод leading_zeros,
    который считает количество ведущих нулевых битов
  • метод trailing_zeros,
    который считает количество завершающих нулевых битов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить