正整数 转化成2进制 编译通过,当n >1就不出结果了

2017-03-02 宝宝老公
求救 正整数 转化成2进制 编译通过,当n >1就不出结果了.
#include   <iostream>
using   namespace   std;
  int   er(int   t)
{
                int   a=1,b,s=1;
                for(int   i=1;;i++)
                {
                                a*=2;
                                if(t==a)
                                {
                                                for(int   j=1;j <=i;j++)
                                                {
                                                                s*=10;
                                                }
                                                b=a;
                                }
                                else   if(t <a)
                                {
                                                if(t==0)
                                                {
                                                                s=0;
                                                                return   s;
                                                }
                                                else   if(t==1)
                                                {
                                                                s=1;