二进制颠倒用位运算

uint32_t reversebits(uint32_t n) {
        uint32_t res = 0;
        for (int i = 0; i < 32; i ++ )
            res = (res << 1) + (n >> i & 1);//n >> i & 1可以得到n二进制的第i位
            //res左移一位后,最后是0嘛,然后加上n的第i位(倒序了)
        return res;
    }

 reverse函数注意语法,举个栗子

reverse(v.begin() + i, v.begin() + j)//颠倒的是下标i到j - 1

 over

分类: 未分类

0 条评论

发表回复

Avatar placeholder

您的邮箱地址不会被公开。 必填项已用 * 标注