[an error occurred while processing this directive]
|
#define SETBIT(ADDRESS,BIT) (ADDRESS |= (1<<(BIT)))
#define CLRBIT(ADDRESS,BIT) (ADDRESS &= ~(1<<(BIT)))
#define TSTBIT(ADDRESS,BIT) (ADDRESS & (1<<(BIT)))
#define TOGLEBIT(ADDRESS,BIT) (ADDRESS ^= (1<<(BIT)))
/...
x=234;
//...
//1-й вариант инверсии бита №2
if(TSTBIT(x,2)!=0){
printf("3-й бит числа 234=1");
CLRBIT(x,2); // обнуляем бит
} else {
printf("3-й бит числа 234=0");
SETBIT(x,2); // выставлем бит
}
//....
//2-й вариант инверсии бита №2
TOGLEBIT(x,2); // переключаеи бит