将一个数向上取整至2的N次方,N为自然数

       static void Main()
        {
            for (uint i = 1; i <= 20; i++)
            {
                Console.Write(i + ":");
                ShowCount(i);
                Console.WriteLine();
            }
        }

        static void ShowCount(uint numProcessCPUs)
        {
            int numSingleCaches = 1;

            numProcessCPUs -= 1;
            for (/*numProcessCPUs -= 1*/; numProcessCPUs > 0; numProcessCPUs /= 2 /*numProcessCPUs = numProcessCPUs >> 1*/)
            {
                //numSingleCaches = numSingleCaches << 1;
                numSingleCaches *= 2;
            }
            Console.Write(numSingleCaches + ",");
        }

/*
1:1,
2:2,
3:4,
4:4,
5:8,
6:8,
7:8,
8:8,
9:16,
10:16,
11:16,
12:16,
13:16,
14:16,
15:16,
16:16,
17:32,
18:32,
19:32,
20:32,
请按任意键继续. . .
         */

 

posted @ 2017-10-30 13:17  sky20080101  阅读(223)  评论(0)    收藏  举报