题目:.数字可以在十进制和二进制之间进行转换。输入一个10进制数字,请编写一个函数,计算该数字对应二进制中0的个数,注意左边第一个1之前的所有0都不需要计算。不需要考虑复数的情况。
输入:要计算的数字
输出:二进制中第一个1之后0的个数。
#include<iostream>
#include<string.h>
using namespace std;
char a[33];
int countOfZeros(int n)
{
int count=0;
itoa(n,a,2);
int len=strlen(a);
//cout<<a<<" "<<len<<endl;
for(int i=0;i<len;i++)
if(a[i]=='0')
count++;
return count;
}
int main()
{
int num;
cin>>num;
cout<<countOfZeros(num)<<endl;
}