Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsSpBtSh 85 of 288 menu
◀ ▶

Сдвиг битов целого в Rust

Сдвиг влево умножает на степень двойки, сдвиг вправо делит на степень двойки с отбросом остатка. Знаки << и >> принимают число и сколько разрядов сдвинуть. В этом разделе берем только беззнаковый тип.

Пустые места после сдвига заполняют нулями. Разряды, которые выходят за край типа, отбрасывают. Здесь не разбираем знаковые типы и особые правила для отрицательных значений.

Сдвинем единицу влево и восьмерку вправо:

fn main() { let a = 1u8; let left = a << 3; let b = 8u8; let right = b >> 2; println!("{} {}", left, right); }

Даны числа:

let x = 1u8;

Сдвиньте x влево на три разряда и выведите результат.

Даны числа:

let y = 8u8;

Сдвиньте y вправо на два разряда и выведите результат.

Даны числа:

let k = 2u8; let steps = 2u8;

Умножьте k на 4 через сдвиг разрядов и выведите число.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить