| 描述: |
输入一个10进制数字,请计算该数字对应二进制中0的个数,注意左数第一个1之前的所有0都不需要计算。不需要考虑负数的情况。 |
| 题目类别: | 位运算 |
| 难度: | 初级 |
| 运行时间限制: | 无限制 |
| 内存限制: | 无限制 |
| 阶段: | 入职前练习 |
| 输入: |
要计算的十进制非负数
|
| 输出: |
二进制中第一个1之后0 的个数 |
| 样例输入: |
2
|
| 样例输出: |
1
|
完整代码:
#include <iostream>
using namespace std;
int main()
{
int n;
int cnt=0;
cin>>n;
while(n)
{
if(n%2==0)
cnt++;
n=n/2;
}
cout<<cnt<<endl;
return 0;
}
本文介绍如何通过位运算计算一个十进制非负数转换为二进制后,第一个1之后0的个数。
1300

被折叠的 条评论
为什么被折叠?



