当MOD=2^n时,快速取模
//需要满足条件 MOD=2^n
int func(int x,int MOD)
{
//ans = x%MOD
//faster
return x&(MOD-1);
}
统一转化为大写或小写字母
分享个字母大小写转换的方法:
统一转成大写:ch & 0b11011111 简写:ch & 0xDF
统一转成小写:ch | 0b00100000 简写:ch | 0x20
比较的时候注意加上小括号哦,因为位运算优先级比较低。
求一个数 转二进制数后1的数目
int func(int x)
{
int count = 0;
while (x)
{
count++;
x = x&(x - 1);
}
return count;
}
求x二进制表达式最低位是1对应的值
比如 lowbit(6)=2 因为6的二进制是110,最低位1对应的值是2
int lowbit(int x)
{
return x&(-x);
}