标签:leetcode c++ bit manipulation
Reverse bits of a given 32 bits unsigned integer.
For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as00111001011110000010100101000000).
方法:直接进行位操作,从末尾开始,一个一个移入return的变量里边,每次对return的变量进行左移位操作。
class Solution { public: uint32_t reverseBits(uint32_t n) { uint32_t res=0; int i=0; while(i++<32) { res=res<<1; res+=n%2; if(n>0) n=n>>1; } return res; } };
标签:leetcode c++ bit manipulation
原文地址:http://blog.csdn.net/u013861066/article/details/46334489