ビット単位の数値n
が与えられた場合、ビット単位を使用してそれを行う高速な方法はありますか? これが私の解決策です:k
(n < 2^k)
slow
int reverse_bit(int n, int bit_size) {
bit_size--;
int result = 0;
while (n) {
if ((n & 1) == 1)
result += 1 * (1 << bit_size);
n >>= 1;
bit_size--;
}
return result;
}