zoukankan      html  css  js  c++  java
  • [LeetCode] Reverse Bits 位操作

    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).

    Follow up:
    If this function is called many times, how would you optimize it?

    Related problem: Reverse Integer

    Credits:
    Special thanks to @ts for adding this problem and creating all test cases.

    Hide Tags
     Bit Manipulation
     
      遍历输入数的位,输出数反向添加,循环时候需要注意先移位后修改,反过来会错的。
     
    #include<iostream>
    using namespace std;
    
    class Solution {
    public:
        uint32_t reverseBits(uint32_t n) {
            uint32_t m=0;
            for(int i=0;i<32;i++){
                m<<=1;
                m = m|(n & 1);
                n>>=1;
            }
            return m;
        }
    };
    
    int main()
    {
        uint32_t n = 1;
        Solution sol;
        cout<<sol.reverseBits(n)<<endl;
        return 0;
    }
  • 相关阅读:
    h5-7
    h5-6
    h5-5
    h5-4
    h5-3
    h5-2
    return
    字符串的常用操作
    字符串中的转义字符
    字典的统计,合并,清空操作
  • 原文地址:https://www.cnblogs.com/Azhu/p/4323474.html
Copyright © 2011-2022 走看看