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

Функция from_ne_bytes

Функция from_ne_bytes преобразует массив байтов в целое число, интерпретируя байты в порядке байтов текущей платформы (native endian). Это означает, что на little-endian системах байты читаются от младшего к старшему, а на big-endian - наоборот. Функция является ассоциированной функцией целочисленных типов и принимает в качестве параметра массив байтов фиксированной длины, соответствующей размеру целевого типа.

Функция доступна для всех целочисленных типов: i8, i16, i32, i64, i128, isize, u8, u16, u32, u64, u128, usize.

Синтаксис

i32::from_ne_bytes(bytes) u64::from_ne_bytes(bytes)

Пример

Давайте преобразуем массив байтов в число типа u32:

fn main() { let bytes: [u8; 4] = [1, 0, 0, 0]; let res = u32::from_ne_bytes(bytes); println!("{}", res); }

Результат выполнения кода на little-endian системе:

1

Пример

Давайте преобразуем массив байтов в число типа i16:

fn main() { let bytes: [u8; 2] = [255, 255]; let res = i16::from_ne_bytes(bytes); println!("{}", res); }

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

-1

Пример

Давайте проверим, что from_ne_bytes и to_ne_bytes являются взаимно обратными операциями:

fn main() { let num: u32 = 12345; let bytes = num.to_ne_bytes(); let res = u32::from_ne_bytes(bytes); println!("{}", res); }

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

12345

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

  • функция from_le_bytes,
    которая преобразует байты в число с порядком little-endian
  • функция from_be_bytes,
    которая преобразует байты в число с порядком big-endian
  • метод to_ne_bytes,
    который преобразует число в массив байтов с порядком текущей платформы
  • метод to_le_bytes,
    который преобразует число в массив байтов с порядком little-endian
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить