#include<stdio.h>
#include<iostream>
#include<string.h>
using namespace std;
int a[9];//第一个为空 1-8存数据
void totwo_2(int s)//法2
{
int b[9];//全为1的二进制
bool is=true;
if(s<0)
{
is=false;
s=-s;
}
int i=8;
while(s!=0)
{
a[i]=s%2;
s/=2;
i--;
}
if(!is)
{
for(i=1;i<=8;i++)
{
a[i]=1-a[i];//反码
}
a[8]+=1;
for(i=8;i>0;i--)//补码
{
if(a[i]==2)
{
a[i-1]+=1;
a[i]=0;
}
else
break;
}
}
for(i=1;i<=8;i++)
{
if(a[i]==1)
printf("*");
else
printf(" ");
}
}
int main()
{
int q;
int j=10;
memset(a,0,sizeof(a));//清0
while(j)
{
for(int i=1;i<=32;i++)
{
memset(a,0,sizeof(a));//清0
scanf("%d",&q);
totwo_2(q);
if(i%2==0)
printf("%d\n",i);
}
}
}
07-12
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交