十进制转二进制(包括负数)

来源:互联网 发布:知乎什么是互联网数据 编辑:程序博客网 时间:2024/06/05 22:49
#include
#include
int p[1200];
int main()
{
   int i,t=0,n,kkk=0;//kkk=0表示正数,kkk=1表示负数
   while(scanf("%d",&n)!=EOF)
   {
      memset(p,0,sizeof(p));
       t=kkk=0;
       if(n<0)
       {
          kkk=1;
          printf("1");
          n=-n;
       }
       while(n)
       {
          if(n%2==1)
          {
             p[t]=1;
             t++;
             n=(n-1)/2;
          }
          if(n%2==0)
          {
             p[t]=0;
             t++;
             n=n/2;
          }
       }
       for(inti=t;i>=0;i--)
       {
          printf("%d",p[i]);
       }
       printf("\n");
   }
}

原创粉丝点击