专栏文章

位运算

算法·理论参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miow09xa
此快照首次捕获于
2025/12/03 02:04
3 个月前
此快照最后确认于
2025/12/03 02:04
3 个月前
查看原文
获取a的第b位:
CPP
int getbit(int a,int b) {return (a>>b)&1;}
将a的第b位设置为0:
CPP
int unsetbit(int a,int b) {return a&~(1<<b);}
将a的第b位设置为1:
CPP
int setbit(int a,int b) {return a|(1<<b);}
将a的第b位取反:
CPP
int flapbit(int a,int b) {return a^(1<<b);}
求二进制1的个数:
CPP
__builtin_popcount(x);
求二进制末尾0的个数:
CPP
__builtin_ctz(x);//如果x==0,则会UB
求二进制有几个前导0:
CPP
__builtin_clz(x);//如果x==0,则会UB

评论

0 条评论,欢迎与作者交流。

正在加载评论...