使用宏操作位
1 #include "stdafx.h" 2 3 //取得unsigned int变量的第n位的值是0还是1 4 #define getvalue(x,n) x<<(32-n)>>(32-1) 5 6 //设置第n位为1 7 #define setByteO(x,n) x|1<<(n-1) 8 9 //设置第n位为0 10 #define setByteZ(x,n) x&(~(1<<(n-1))) 11 12 //清零 13 #define clear(x) ~(x|~0) 14 15 int main(int argc, _TCHAR* argv[]) 16 { 17 unsigned int a= 21; 18 19 int c = getvalue(a,4); 20 21 unsigned int d = setByteO(a,4); 22 23 int e = getvalue(d,4); 24 25 unsigned int f = setByteZ(d,4); 26 27 int g = getvalue(f,4); 28 29 int h = clear(f); 30 31 return 0; 32 }
posted on 2013-07-23 15:38 .Xavier.zhang 阅读(295) 评论(0) 编辑 收藏 举报