#define _CRT_SECURE_NO_WARNINGS 1 #includeint main() { int i = 0; scanf("%d", &i); if ((i & (i - 1)) == 0) //每一次进行"i & (i - 1)"就会把i低位的1消去一个 { printf("该数是2的几次方n"); } else { printf("该数不是2的几次方n"); } return 0; }

#define _CRT_SECURE_NO_WARNINGS 1 #includeint main() { int i = 0; scanf("%d", &i); if ((i & (i - 1)) == 0) //每一次进行"i & (i - 1)"就会把i低位的1消去一个 { printf("该数是2的几次方n"); } else { printf("该数不是2的几次方n"); } return 0; }