PTA
#include <stdio.h>
int main(){
//无符号整型才能表达32位二进制数对应的十进制数
unsigned int decimalNum;
unsigned int digitsCount=;
scanf("%u", &decimalNum);
while(decimalNum){
digitsCount++;
decimalNum /= ;
}
printf("%u\n", -digitsCount); return ;
}
分析:
1、实际是求十进制数转成二进制后的位数
2、将待求数一直除以2直到0时的次数,即等于对应二进制数的位数