190. Reverse Bits

 

 

#include<iostream>
#include<string>
using namespace std;
uint32_t reverseBits(uint32_t n) {
    uint32_t a = 0;
    int count = 0;
    string s = "";
    while (n) {
        s += to_string(n%2);
        n = n / 2;
    }
    for (int i = 0; i < s.length(); i++) {
        a = a * 2 + int(s[i] - '0');
    }
    count = 32 - s.length();
    while (count) {
        a = a * 2;
        count -= 1;
    }
    return a;
}

int main() {
    uint32_t a = 4294967293;
    cout << reverseBits(a) << endl;
    return 0;
}

 

posted @ 2020-05-10 19:47  星海寻梦233  阅读(81)  评论(0编辑  收藏  举报