大家都知道,数据在计算机里中存储是以二进制的形式存储的。
有一天,小明学了?CC?语言之后,他想知道一个类型为 unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的。
你能帮帮小明吗?
并且,小明不想要二进制串中前面的没有意义的?00?串,即要去掉前导?00。
输入格式
输入包含多组测试数据。
每组数据占一行,包含一个整数。
输出格式
每组数据输出一行,一个二进制串表示结果。
数据范围
输入整数范围?[0,4294967295][0,4294967295]。 每个输入最多包含?100100?组数据。
输入样例:
23
535
2624
56275
989835
输出样例:
10111
1000010111
101001000000
1101101111010011
11110001101010001011
代码如下:
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cout.tie(NULL);
unsigned int a;
while(cin >> a){
vector<int> v;
v.clear();
if(a == 0){
cout << 0;
continue;
}
while(a){
if(a & 1)
v.push_back(1);
else
v.push_back(0);
a >>= 1;
}
for(auto i = v.end() - 1; i >= v.begin() ; i --){
//v.end() 指向的是最后一个元素的下一个位置
cout << *i ;
}
cout << endl;
}
return 0;
}
|