#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);//将num的n位置0 } else if (flag == 1) { num = num | n; } return num; }
调用如下:
int a = 0x10; //位置从0开始 a = set_bit(a,1,1);//将a的第2位,置1,结果为10010即0x12
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。