Найти в Дзене
Реальный Эксель

🔍 Битовые маски: суперсила для работы с данными

🔍 Битовые маски: суперсила для работы с данными Сегодня о битовых масках — мощном инструменте, который делает магию с данными. 🤔 Что это вообще такое? Битовая маска — это число, в котором каждый бит имеет специальное значение. Представьте, что у вас есть швейцарский нож данных — каждая "лезвие" (бит) отвечает за свою функцию. 🎯 Где это реально используют? ✅ Системы прав доступа (можно/нельзя) 🏷 Множественные флаги состояний 🎮 Игровая разработка (статусы эффектов) 📊 Оптимизация хранения данных 🔐 Компактные настройки 💻 Практика в таблицах (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) = Чтение + Удаление То есть это просто сумма состояний. Чтение

🔍 Битовые маски: суперсила для работы с данными

Сегодня о битовых масках — мощном инструменте, который делает магию с данными.

🤔 Что это вообще такое?

Битовая маска — это число, в котором каждый бит имеет специальное значение. Представьте, что у вас есть швейцарский нож данных — каждая "лезвие" (бит) отвечает за свою функцию.

🎯 Где это реально используют?

✅ Системы прав доступа (можно/нельзя)

🏷 Множественные флаги состояний

🎮 Игровая разработка (статусы эффектов)

📊 Оптимизация хранения данных

🔐 Компактные настройки

💻 Практика в таблицах (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...

Попробуйте! Это как суперспособность для оптимизации. 🦸