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

Битовое И для целых в Rust

Бит результата равен единице, только если единица в обоих числах на этом месте. В остальных разрядах в ответе будет ноль. Знак & ставят между двумя целыми одной ширины.

Так отбирают общие единичные разряды или накладывают маску: нули в маске гасят соответствующие биты второго операнда. Для учебных примеров удобен тип u8, где все восемь разрядов видны на маленьких числах.

Сравним два значения и выведем результат:

fn main() { let a = 5u8; let b = 3u8; let r = a & b; println!("{}", r); }

Даны числа:

let a = 7u8; let b = 4u8;

Оставьте единицы только там, где они есть и у a, и у b, запишите результат в r и выведите его из main.

Даны числа:

let x = 9u8; let y = 6u8;

Найдите число, где единица только в разрядах, где и x, и y имеют единицу, и выведите его.

Даны числа:

let n = 15u8; let mask = 10u8;

Сохраните в n только те разряды, где в mask стоит единица, и выведите итог.

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