首页 > 代码库 > [Leetcode]-Reverse Bits

[Leetcode]-Reverse Bits

Reverse bits of a given 32 bits unsigned integer.
将uint数据依照二进制位倒序
For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 00111001011110000010100101000000).
//思路:将n数据循环左移出。同一时候将移出的数据右移入b中,返回b
技术分享

uint32_t reverseBits(uint32_t n) {
    uint32_t i = 0;
    uint32_t t = 1;
    uint32_t b = 0;
    for(i=0;i<32;i++)
    {
        if(n & t)
            b = (b<<1) | 1; 
        else
            b = b << 1;
        n = n>>1;
    }

    return b;
}
<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

[Leetcode]-Reverse Bits