杭电2051Bitset

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2051

进制转换问题:

#include <cstdlib>

#include <iostream>



using namespace std;



int main(int argc, char *argv[])

{

    int n;

    int a[12]={0};

    while(cin>>n)

    {

                 

      int k=0;//变量k记录余数的个数 

      //for循环的条件有点问题,n除到最后肯定等于零,且余数为1(因为是二进制),

      //所以,把n/2=0单独拿出来了,见下面。 

      for(;n/2!=0;n=n/2)

      {

        a[i]=n%2;

        i++;

        k++;

           }

      //下边是 n/2=0时的情况输出1; 

      cout<<1;

      for(int i=k-1;i>=0;i--)

        cout<<a[i];

      cout<<endl;

    }

    system("PAUSE");

    return EXIT_SUCCESS;

}

 

你可能感兴趣的:(bitset)