二进制颠倒用位运算
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 条评论