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

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

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

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

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

Тот же прием подойдет, когда нужно объединить две маски в одно целое:

fn main() { let base = 4u8; let extra = 1u8; let flags = base | extra; println!("{}", flags); }

Даны числа:

let p = 2u8; let q = 5u8;

Соберите число, где единица стоит, если она есть у p или у q, и выведите результат.

Даны числа:

let old = 8u8; let add = 3u8;

Добавьте к old все единичные разряды из add и выведите итог.

Даны числа:

let u = 0u8; let v = 6u8;

Получите число, равное v, если u пока нулевое, и выведите его.

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