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

Введение в биты в Rust

Битовые операции смотрят на число как на набор бит, а не как на одну величину. Каждый разряд в двоичной записи можно обрабатывать отдельно или сдвигать всю цепочку разрядов влево и вправо.

Такие приемы нужны для флагов, масок и нескольких переключателей в одном целом. Маска отмечает, какие разряды меняют, а какие оставляют без изменений. Сдвиги связаны со степенями двойки: влево умножают на степень, вправо делят на ту же степень с отбросом остатка.

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

Дальше разберем соединение разрядов двух чисел, переворот каждого разряда у одного целого и сдвиг беззнакового типа. В конце закрепим тему на задачах с маленькими значениями u8.

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