Да, у меня есть.
Как вы можете подозревать, это, скорее всего, можно найти в низкоуровневом программировании, например, при разработке драйверов устройств. Но я работал над проектом на C #, где мне нужно было разработать веб-сервис, который бы получал данные от медицинских устройств. Все двоичные данные, хранящиеся на устройстве, были закодированы в пакеты SOAP, но двоичные данные были сжаты и закодированы. Таким образом, чтобы распаковать его, вам придется делать много-много битовых манипуляций. И, кроме того, вам придется много сдвигать бит, чтобы разобрать любую полезную информацию, например, серийный номер устройства - это младшая половина второго байта или что-то в этом роде.
Также я видел, как некоторые люди в мире .NET (C #) используют битовую маскировку и атрибут флага, лично у меня никогда не было желания это делать.