求比x大的最小的2的n次方数

求比x大的最小的2的N次方数

例如:
x = 5, return 8;
x = 8, return 8;
x = 9, return 16;

1
2
3
4
5
6
7
8
9
10
int (int x)
{
--x;
x |= x>>1;
x |= x>>2;
x |= x>>4;
x |= x>>8;
x |= x>>16;
return x+1;
}