// 判断一个数的二进制形式是否只有一个1,是的话就输出
#include "stdafx.h"
#include <stdlib.h>
int main(int argc, char* argv[])
{
unsigned int n = 0;
char str[100] = {0};
do
{
if(n && (n & (n-1)) == 0)
{
printf("%d, %X\n", n, n);
}
}while(++n <= 10000);
return 0;
}
运行结果:
1, 1
2, 2
4, 4
8, 8
16, 10
32, 20
64, 40
128, 80
256, 100
512, 200
1024, 400
2048, 800
4096, 1000
8192, 2000
Press any key to continue
阅读全文