1083:十->二进制转换
Description
将十进制整数转换成二进制数
Input
输入数据中含有不多于50个整数n(-2^16<n<2^16)。
Output
对于每个n,输出n值,然后输出“-->”,再然后输出二进制数。每个整数n的输出,独立占一行。
Sample Input
20-121
Sample Output
2-->10
0-->
-12-->-1100
1-->1
#include<iostream>
using namespace std;
int main()
{
int n,temp,k=1;
string s;
while(cin>>n)
{
if(k>50)
return 0;
int a[170000]={0},i=0;
long long int count=0;
if(n==0)
cout<<0<<"-->"<<0<<endl;
else if(n>0)
{
temp=n;
while(n!=0)
{
a[i]=n%2;
n=n/2;
i++;
}
for(int j=i-1;j>=0;j--)
count=count*10+a[j];
cout<<temp<<"-->"<<count<<endl;
}
else if(n<0)
{
temp=n;
n=-n;
while(n!=0)
{
a[i]=n%2;
n=n/2;
i++;
}
for(int j=i-1;j>=0;j--)
count=count*10+a[j];
cout<<temp<<"-->"<<-count<<endl;
}
k++;
}
return 0;
}