🔍 Битовые маски: суперсила для работы с данными
Сегодня о битовых масках — мощном инструменте, который делает магию с данными.
🤔 Что это вообще такое? Битовая маска — это число, в котором каждый бит имеет специальное значение. Представьте, что у вас есть швейцарский нож данных — каждая "лезвие" (бит) отвечает за свою функцию.
🎯 Где это реально используют?
✅ Системы прав доступа (можно/нельзя)
🏷 Множественные флаги состояний
🎮 Игровая разработка (статусы эффектов)
📊 Оптимизация хранения данных
🔐 Компактные настройки
💻 Практика в таблицах (Excel/Google Sheets)
Допустим, у нас число 6 (бинарно: 110). Как проверить отдельные биты?
excel =ОСТАТ(A1;2) → Бит 0 (младший): 0 =ОСТАТ(ЧАСТНОЕ(A1;2);2) → Бит 1: 1 =ОСТАТ(ЧАСТНОЕ(A1;4);2) → Бит 2: 1 📚 Живой пример: система доступа Пусть каждый бит — право доступа:
Бит 0 (1): Чтение
Бит 1 (2): Запись
Бит 2 (4): Удаление
Права пользователя = 5 (бинарно 101) = Чтение + Удаление
То есть это просто сумма состояний. Чтение 1 + Удаление 4 = Чтение, Удаление (5).
Проверяем права:
excel =ЕСЛИ(ОСТАТ(Права;2)=1;"Чтение есть";"") =ЕСЛИ(ОСТАТ(ЧАСТНОЕ(Права;2);2)=1;"Запись есть";"") 🎁 Преимущества:
⚡️ Супербыстро
💾 Экономия памяти
🔧 Гибкость
🧮 Простые вычисления
⚠️ Осторожно:
Может быть сложно для понимания
Легко запутаться в битах
Ограниченное количество флагов (обычно 32/64)
💡 Профи-совет: Обязательно используйте только степени двойки для каждого флага: 1, 2, 4, 8, 16, 32...
Попробуйте! Это как суперспособность для оптимизации. 🦸