疯狂的进制转换II | ||||||
| ||||||
Description | ||||||
进制转换是一个疯狂的问题,你需要将一个整数转化为32位的二进制形式。 | ||||||
Input | ||||||
本题有多组测试数据,对于每组数据输入一个正整数number,number不超过32位有符号整数的最大值,输入到文件结束。 | ||||||
Output | ||||||
对于每组数据输出一个对应的32位二进制字符串并换行。 | ||||||
Sample Input | ||||||
1 2 | ||||||
Sample Output | ||||||
00000000000000000000000000000001 00000000000000000000000000000010
|
用刚学的栈与队列知识解决这个问题。
#include<iostream>
#include<stack>
using namespace std;
int main()
{
int n;
while(cin>>n)
{
stack<int>ls;
while(n!=0)
{
ls.push(n%2);
n/=2;
}
for(int i=0;i<32-ls.size();i++)
cout<<0;
while(!ls.empty())
{
cout<<ls.top();
ls.pop();
}
cout<<endl;
}
return 0;
}