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

Исключающее или для целых в Rust

Бит результата равен единице, если биты на этом разряде разные. Совпадающие нули и совпадающие единицы дают ноль в ответе. Знак ^ ставят между двумя целыми.

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

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

Повторное применение с тем же вторым числом возвращает исходное значение первого:

fn main() { let a = 5u8; let b = 3u8; let once = a ^ b; let back = once ^ b; println!("{}", back); }

Даны числа:

let m = 12u8; let n = 10u8;

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

Даны числа:

let x = 7u8; let y = 2u8;

Получите из x и y число с единицами на несовпадающих разрядах и выведите результат.

Даны числа:

let v = 9u8; let tag = 1u8;

Переключите разряды v там, где в tag единица, и выведите итог.

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