Macros para definir e limpar bits
Estou tentando escrever algumas macros simples para simplificar a tarefa de definir e limpar bits, o que deve ser uma tarefa simples, mas não consigo fazê-los funcionar corretamente.
#define SET_BIT(p,n) ((p) |= (1 << (n)))
#define CLR_BIT(p,n) ((p) &= (~(1) << (n)))