描述
将一个 10 进制的数转换为二进制数。
输入
输入一个 10000 位以内的十进制数。
输出
转换为二进制后输出。
输入样例
1030
输出样例
10000000110
代码一:
#include <stdio.h>
#include <iostream>
#include <string>
#include <stack>
using namespace std;
const int maxn = 10000;
int arr[maxn];
int main(void)
{
string str;
cin >> str;
int sum = 0;
for(int i = 0; i < str.length(); i++)
{
sum = sum * 10 + str[i] - '0';
}
int num = 0;
while(sum != 0)
{
arr[num++] = sum % 2;
sum /= 2;
}
for(int i = num - 1; i >= 0; i--)
{
printf("%d", arr[i]);
}
return 0;
}
代码二:
#include <stdio.h>
#include <string>
#include <iostream>
#include <stack>
using namespace std;
stack<int> s;
int main(void)
{
string str;
cin >> str;
int sum = 0;
for(int i = 0; i < str.length(); i++)
{
sum = sum * 10 + (str[i] - '0');
}
while(sum != 0)
{
s.push(sum % 2);
sum /= 2;
}
while(!s.empty())
{
printf("%d", s.top());
s.pop();
}
return 0;
}