1. 把一个数上调成另一个数的倍数
int align = 8;
unsigned int round_up(unsigned int num) {
return (((num) + align - 1) & ~(align-1))
}
2. 取某些位
- 取最低位, 可由数字得到相应的二进制字符串
string numToBinStr(int num) {
string str;
while (num) {
char c = '0';
if (num & 1)
c = '1';
else
c = '0';
num = num >> 1;
str.insert(str.begin(), c);
}
return str;
}
3. 判断str与目标01bit位是否符合
a ^ a = 0;
a ^ 0 = a;