Битовая маска | это... Что такое Битовая маска? (original) (raw)
Битовая маска — определённые данные, которые используются для маскирования — выбора отдельных битов или полей из нескольких битов из двоичной строки или числа.
Применение
Например, для получения значения пятого бита (считая слева) числа 10111011 нужно использовать маску 00001000 и применить операцию побитового логического «И» (конъюнкцию). В результате получится:
10111011 & 00001000 = 00001000
Подобное число на языках, использующих вместо логического типа числовые типы, например в Си, будет означать истину или ложь, если этот бит принимает соответствующее значение. На языках, например, C++, имеющие логические типы, необходимо произвести приведение типа.
Использование
Основные плюсы и недостатки:
- Экономия памяти — требуется бит для хранения информации, а не байт.
- Неэффективно по производительности.
Сфера использования в основном в интерфейсах, где приоритет отдаётся экономии памяти:
- выбор битов из слова состояния, идущие с пакетом по интерфейсу, например, контрольная сумма;
- выбор битов из IP-адреса для адресации подсети (см. маска подсети) 255.255.224.0