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

Введение в побитовые операции в Go

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

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

Не путайте побитовые знаки с логическими && и ||: те работают только с булевыми значениями и не склеивают разряды двух чисел.

В этом разделе сначала разберем соединение разрядов двух чисел, инверсию и сброс по маске, сдвиги и связку счетчика констант со сдвигом для степеней двойки. В конце закрепим тему на задачах с разрядами.

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