疯狂的进制转换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; }
原文:http://blog.csdn.net/lsgqjh/article/details/44992567