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; } }