大家都知道,数据在计算机里中存储是以二进制的形式存储的。 有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的。 你能帮帮小明吗?并且,小明不想要二进制串中前面的没有意义的0串,即要去掉前导0。
输入描述:
第一行给出数字k,接下来k行表示要求的二进制串。
输出描述:
输出共T行。每行输出求得的二进制串。
示例1
输入
5
23
535
2624
56275
989835
输出
10111
1000010111
101001000000
1101101111010011
11110001101010001011
题解
十进制转二进制,先模2再除2,利用堆栈进行逆序输出
c++11
#include<iostream>
#include<stack>
using namespace std;
int main(){
unsigned int n;
stack<int>b;
while(cin>>n){
while(n!=0){
b.push(n%2);
n/=2;
}
while(!b.empty()){
cout<<b.top();
b.pop();
}
}
return 0;
}