Главная arrow Начинающим arrow FAQ по языку Си arrow 5. Как узнать, установлен(ы) или сброшен(ы) определенный(ые) бит(ы) в переменной?  
05.02.2012 г.
Главная
Проекты
Статьи
Начинающим
Архив новостей
Ссылки
Контакты
Поиск
Файлы
Форум
Карта сайта
Авторизация





Забыли пароль?
Ещё не зарегистрированы? Регистрация
Поддержи наш сайт!
Через WebMoney

 R785211844650
 Z210696637574
 E368177590409

или
пополни нашу копилку



5. Как узнать, установлен(ы) или сброшен(ы) определенный(ые) бит(ы) в переменной? Печать E-mail
Рейтинг: / 4
ХудшаяЛучшая 
Автор ARV   
18.12.2009 г.

Проверка состояния бита осуществляется при помощи наложения маски на переменную, при этом в маске задается единственный нужный бит:

if(var & _BV(5)) {
    // здесь операторы, если в var 5-й бит установлен
}

При проверке сразу нескольких бит недостаточно убедиться в ненулевом значении результата маскирования, нужно обязательно быть уверенным, что результат маскирования совпадает со значением маски:

mask = _BV(3) | _BV(6); // маска сразу для 2-х битов
if((var & mask) == mask){
    // если оба бита установлены - обрабатываем ситуацию тут
}

Добавить в любимые (0) | Просмотров: 3040

  Ваш коментарий будет первым

Только зарегистрированные пользователи могут оставлять коментарии.
Пожалуйста зарегистрируйтесь или войдите в ваш аккаунт.

 
« Пред.   След. »
Полезные материалы по сходным темам
Кто на сайте?
Сейчас на сайте находятся:
18 гостей и 1 пользователь
  • Milmen
Помощь on-line