位操作

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;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容