Константа BITS
Константа BITS класса i32 хранит количество бит,
которое занимает значение типа i32 в памяти.
Для типа i32 это значение всегда равно 32.
Константа доступна через путь i32::BITS и имеет тип u32.
Параметров у константы нет, так как это статическое значение,
определённое на уровне типа.
Синтаксис
i32::BITS
Пример
Давайте выведем значение константы BITS для типа i32:
fn main()
{
let res = i32::BITS;
println!("{}", res);
}
Результат выполнения кода:
32
Пример
Давайте используем константу BITS,
чтобы вычислить максимальное значение типа i32
через возведение двойки в степень:
fn main()
{
let res = 2i64.pow(i32::BITS - 1) - 1;
println!("{}", res);
}
Результат выполнения кода:
2147483647
Пример
Давайте сравним константу BITS с константой MAX
и убедимся, что количество бит соответствует размеру типа:
fn main()
{
let bits = i32::BITS;
let max = i32::MAX;
println!("bits: {}", bits);
println!("max: {}", max);
println!("check: {}", bits == 32);
}
Результат выполнения кода:
bits: 32
max: 2147483647
check: true
Смотрите также
-
класс
i32,
который представляет 32-битное целое число со знаком -
константа
MIN,
которая хранит минимальное значение типа i32 -
константа
MAX,
которая хранит максимальное значение типа i32 -
метод
count_ones,
который считает количество единичных бит в значении