专栏文章
位运算
算法·理论参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @miow09xa
- 此快照首次捕获于
- 2025/12/03 02:04 3 个月前
- 此快照最后确认于
- 2025/12/03 02:04 3 个月前
获取a的第b位:
CPPint getbit(int a,int b) {return (a>>b)&1;}
将a的第b位设置为0:
CPPint unsetbit(int a,int b) {return a&~(1<<b);}
将a的第b位设置为1:
CPPint setbit(int a,int b) {return a|(1<<b);}
将a的第b位取反:
CPPint 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 条评论,欢迎与作者交流。
正在加载评论...