问题 B: Hz的进制
题目描述
输入
输出
样例输入
1
-5
样例输出
1
31
提示
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,sum,flag;
while(~scanf("%d",&n))
{
sum=0;
flag=0;
if(n>=0)
{
while(n)
{
if(n%2==1)
{
sum++;
}
n=n/2;
}
printf("%d\n",sum);
}
else
{
n=-n;
while(n)
{
if(flag==0&&n%2==0)
{
sum++;
}
if(flag==1&&n%2==1)
{
sum++;
}
if(n%2==1)
{
flag=1;
}
n=n/2;
}
printf("%d\n",32-sum);
}
}
return 0;
}