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

Преобразование в i16

Преобразование в i16 переводит значение в знаковое целое число размером 16 бит. Диапазон допустимых значений для i16 составляет от -32768 до 32767. Преобразование может выполняться как с помощью оператора as, так и с помощью методов try_into или from. При использовании оператора as преобразование происходит без проверки диапазона, а при использовании try_into - с проверкой и возвратом результата типа Result.

Синтаксис

let res = value as i16; let res: Result<i16, _> = value.try_into();

Пример

Давайте преобразуем число типа i32 в i16 с помощью оператора as:

fn main() { let num: i32 = 12345; let res = num as i16; println!("{}", res); }

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

12345

Пример

Давайте преобразуем число типа i32, которое выходит за пределы диапазона i16, с помощью оператора as:

fn main() { let num: i32 = 100000; let res = num as i16; println!("{}", res); }

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

-31072

Пример

Давайте преобразуем число типа i32 в i16 с помощью метода try_into:

use std::convert::TryInto; fn main() { let num: i32 = 12345; let res: i16 = num.try_into().unwrap(); println!("{}", res); }

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

12345

Пример

Давайте попробуем преобразовать число типа i32, которое выходит за пределы диапазона i16, с помощью метода try_into:

use std::convert::TryInto; fn main() { let num: i32 = 100000; let res: Result<i16, _> = num.try_into(); println!("{:?}", res); }

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

Err(TryFromIntError(()))

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

  • оператор as,
    который выполняет приведение типов
  • метод try_into,
    который выполняет преобразование с проверкой диапазона
  • тип i32,
    который представляет знаковое целое число размером 32 бита
  • тип u16,
    который представляет беззнаковое целое число размером 16 бит
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить