题目:计算整数二进制表达式中0的个数 最左边1前面的0不考虑 ,不需要考虑负数的情况。 函数原型void GenZeroNum(int nVal, int& nZeroNum);
#include<iostream>
using namespace std;
void GenZeroNum(int nVal,int &nZeroNum)
{
nZeroNum=0;
while(nVal)
{
if( 0== (nVal & 0x1))
nZeroNum++;
nVal>>=1;
}
}
void GenZeroNum2(int nVal,int &nZeroNum)
{
char a[100];
nZeroNum=0;
itoa(nVal,a,2);
for(int i=0;i<strlen(a);i++)
if(a[i]==0)
nZeroNum++;
}
int main()
{
int value,count;
cin>>value;
GenZeroNum(value,count);
cout<<count<<endl;
}