问题描述
解决方案
只发现最后会多输出一个空格,空格后面那个0是不是在主函数里输出的?
解决方案二:
贴一下完整代码看看!
解决方案三:
目测不在这个函数里面。可以只运行一次这个函数看看
解决方案四:
#include
#include
using namespace std;
int bit[32];
int i;
int Bit(unsigned int n)
{
for(i=0;i {
bit[i]=n%2;
n/=2;
}
for(i=31;i>=0;)
{
cout< if((i+1)%4==0)
{
cout }
}
}
int main()
{
unsigned int n;
int count=0;
cin>>n;
while(n)
{
cout<<""第""<<count+1<<""次""<<endl;
count++;
cout<<n<<""&""<<n-1<<endl;
cout<<Bit(n)<<endl;
cout<<Bit(n-1)<<endl;
n=n&(n-1);
cout<<""*******************************************""<<endl;
cout<<Bit(n)<<endl;
}
cout<<""n总共""<<count<<""次运算""<<endl;
}
解决方案五:
cout<<Bit(n)<<endl;这一句,Bit()返回了一个0然后被你在主函数里输出了,这就是那最后的0。