leetcode190

public class Solution {
    public uint reverseBits(uint n) {
        var list = new List<uint>();//逆序的二进制列表,list[0]是最低位
            while (n != 0)
            {
                var cur = n % 2;
                list.Add(cur);
                n = n / 2;
            }
            var addzero = 32 - list.Count;
            for (int i = 0; i < addzero; i++)//补充到32位
            {
                list.Add(0);
            }

            list.Reverse();

            uint sum = 0;
            for (int i = 0; i < list.Count; i++)
            {
                var cur = list[i];
                sum += cur * ((uint)(Math.Pow(2, i)));
            }
            return sum;
    }
}

https://leetcode.com/problems/reverse-bits/#/description

原文地址:https://www.cnblogs.com/asenyang/p/6769298.html