文心一言编的,经试验AC了

robin88  •  9个月前


include

int bitLength(int n) {

if (n == 0) return 1; // 0的位数是1  

int length = 0;  
unsigned int un = static_cast<unsigned int>(n); // 防止在移位时遇到负数的问题  

while (un) {  
    un >>= 1; // 将数右移一位  
    ++length; // 位数加1  
}  
return length;  

}

int main() {

int decimal =0;  
std::cin>>decimal;
int k= bitLength(decimal);  
std::cout<< k << std::endl;  
return 0;  

}


评论:

请先登录,才能进行评论