PTA

 1 #include <stdio.h>
 2 int main(){
 3     //无符号整型才能表达32位二进制数对应的十进制数
 4     unsigned int decimalNum;
 5     unsigned int digitsCount=0;
 6     scanf("%u", &decimalNum);
 7     while(decimalNum){
 8         digitsCount++;
 9         decimalNum /= 2;
10     }
11     printf("%u\n", 32-digitsCount);
12 
13     return 0;
14 }

分析:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

1、实际是求十进制数转成二进制后的位数

2、将待求数一直除以2直到0时的次数,即等于对应二进制数的位数

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄