将一个数的指定位置0或1

#include   
unsigned int set_bit(unsigned int num, int pos, int flag)  
{  
    int n = 1;  
    n = n << pos;    //将n的第pos位置1,其他全为0  
    if (flag == 0)  
    {  
        num = num&(~n);//将num的n位置0  
    }  
    else if (flag == 1)  
    {  
        num = num | n;  
    }  

    return num;  
}

调用如下:

专注于为中小企业提供成都做网站、成都网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业东港免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

int a = 0x10;
//位置从0开始
a = set_bit(a,1,1);//将a的第2位,置1,结果为10010即0x12

网站栏目:将一个数的指定位置0或1
网页URL:http://scyanting.com/article/gojege.html