#12806: C++分享


cc85nod@gmail.com (張智諺)

學校 : 國立中央大學
編號 : 69924
來源 : [140.113.216.183]
最後登入時間 :
2022-07-05 10:54:49
a034. 二進位制轉換 | From: [140.115.214.64] | 發表日期 : 2017-10-12 14:58

#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int a;
while(cin >> a)
{

int n=0;
while(a>=pow(2,n))
{
n++;
}//n-1=最大次方
int i;
float x=2;
for(i=n-1; i>=0; i--)
{
if(a%static_cast<int>(pow(x,i))==0 && a!=0)
{
cout << "1" ;
}
else if(a%static_cast<int>(pow(x,i))!=0 && a/static_cast<int>(pow(x,i)) == 1)
{
cout << "1" ;
}
else if(a%static_cast<int>(pow(x,i))!=0 && a/static_cast<int>(pow(x,i)) != 1)
{
cout << "0" ;
}
else
{
cout << "0" ;
}

if( a/static_cast<int>(pow(x,i)) == 1)
{
a=a-pow(x,i);
}
}
cout << endl ;
}


return 0;
}

 
ZeroJudge Forum