@innntern

Почему в примерах книги используется i32, а не i8?

Здравствуйте! изучаю Rust по стандартной книге и здесь в примерах

fn five() -> i32 {
    5
}

fn main() {
    let x = five();

    println!("The value of x is: {x}");
}

почему-то используется i32, а не i8. Ведь даже если взять этот пример функции который возвращает число 5 хватит типа i8. Почему автор использует именно i32?
  • Вопрос задан
  • 145 просмотров
Решения вопроса 1
mayton2019
@mayton2019
Bigdata Engineer
Это очень старая практика. Почти все сишники так делают. Для современных процессоров операции с 32х разрядным числом удобнее. А суждать до 8 бит нет смысла. Все равно регистр EAX так или иначе используется целиком.

Но 8 битные целые имеют смысл если их складывать в массивы. И еще имеет смысл ужесточать
тип когда очень важно иметь функцию которая по контракту принимает только 8 битное целое. Но это редко
бывает. Чаще мы хотим целое число пошире. Но не 64 бита. Это перебор. Это как бутылка водки против контейнера водки.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы