在一个寄存器中,我们想操作某一位,或者某几位,但是又不关心也不应该关心其他位的用途。这便是核心的思想。
只置某1位:
a&=~(1<<x); //偏移x的位置上清0
a|= (1<<x); //偏移x的位置上置1
置多位:
1.不正确的方法
a&=~0001 1100;
b|= 0001 1100;
这种方法我们关心了其他位,因此,不推荐。
2.正确的方法
a&=~((1<<2)|(1<<3)|(1<<4));
b|= (1<<2)|(1<<3)|(1<<4);
在判断语句中,作为判据,以if为例
if(a&(1<<x) ){;} \判断偏移x的位置上的数是1,则执行
if(a&(1<<x)==0) {;} \判断偏移x的位置上的数是0,则执行
版权声明:本文为博主原创文章,未经博主允许不得转载。