1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include <stdio.h> 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);
}
else if (flag == 1)
{
num = num | n;
}
return num;
} |
调用如下:
1
2
3
|
int a = 0x10;
//位置从0开始 a = set_bit(a,1,1); //将a的第2位,置1,结果为10010即0x12
|
本文转自Chinayu201451CTO博客,原文链接:http://blog.51cto.com/9233403/1971827 ,如需转载请自行联系原作者