Как проверить состояние бита в переменной?
Ответ:
[Вернуться в категорию "Вопросы и ответы по программированию на C для микроконтроллеров PIC."] Используйте следующий код:
Для проверки одиночного бита в переменной. Помните, что биты в 8-битной переменной всегда считаются справа налево, от 0 до 7. Для примера, бит #0 в 0b00000001 равен 1. Бит #1 равен 0, а наибольший значащий бит #7 - слева.
x= 0b1000; //десятичное 8 или шестнадцатеричное 0x8 if ( testbit ( x, 3 ) ) a ( ); else b( ); // функция a() будет выполнена
if ( testbit ( x, 0 ) ) a( ); else b ( ); // функция b() будет выполнена
if ( ! testbit (x, 0 ) ) b( ); // функция b() будет выполнена
// определение функции #define testbit_on ( data, bitno ) ( ( data >> bitno ) & 0x01 ) [Вопросы и ответы по программированию на C для микроконтроллеров PIC.]
|