1. Как установить в единицу нужный(ые) бит(ы) в переменной, не меняя остальные? |
Автор ARV | |||||
18.12.2009 г. | |||||
Установка бита осуществляется при помощи двоичного ИЛИ этой переменной и числом, в котором установлен нужный бит. Например: var = var | 0x40; // установка 6-го бита в 1. Проще всего получить число с установленным нужным битом при помощи операции логического сдвига: var = var | (1<<6); В WinAVR предусмотрен макрос _BV(x), который создает число с установленным в 1 битом x. Для любителей других компиляторов этот макрос (для совместимости) можно добавить самостоятельно: #define _BV(x) (1<<(x)) С его использованием операция установки 6-го бита переменной var запишется так: var = var | _BV(6); Или более кратко (в общепринятом стиле Си): var |= _BV(6); Одновременная установка нескольких бит в переменной осуществляется аналогично: var |= _BV(6) | _BV(5); // установка 5-го и 6-го битов Добавить в любимые (1) | Просмотров: 17472
Только зарегистрированные пользователи могут оставлять коментарии. |
След. » |
---|