//简洁高效的位操作宏定义
#define BIT_SET(x,n) (x= x|(0x01<<n))
#define BIT_TEST(x,n) ((x&(0x01<<n)) !=0)
#define BIT_CLEAR(x,n) (x= x&~(0x01<<n))
MFC学习记录--提取16进制表示码(位操作)
我们在学mfc时经常用到类型(16进制数据)
而且有时候需要从一个混合类型中提取一个类型或删掉一种类型时就要用到位操作了
例如:
DWORD style = CS_DBLCLKS | CS_HREDRAW | CS_VREDRAW;
1.判断是否含有一种类型:
if((style&CS_DBLCLKS)==CS_DBLCKS)
{
AfxMessageBox(L"含有CS_DBLCKS类型");
}else {
AfxMessageBox(L"不含有CS_DBLCKS类型");
}
2.去除一种类型:
style &= ~CS_DBLCKS
3.添加一种类型
style |= CS_OWNDC;