#include // #include class Solution { private: uint32_t setBit(uint32_t in, char value, char pos) { uint32_t ones = -1; uint32_t zero_mask = (ones ^ (value << pos)); in = in & zero_mask; in = in ^ (value << pos); return in; } public: uint32_t reverseBits(uint32_t n) { uint32_t out = 0; for (char i = 0; i < 32; i++) { out = setBit(out, n & 1, 31-i); n >>= 1; } return out; } }; // int main() { // std::cout << setBit(8, 1, 3) << std::endl; // }