總時間限制:
1000ms
記憶體限制:
65536kB
// 在此處補充你的代碼
描述
給出一個int表示範圍内的正整數x,輸出其二進制表示。一共要輸出31位,不足處要補0。
#include <iostream>
#include <string>
using namespace std;
string dec2bin(int x){
}
int main(){
int n;
cin >> n;
while(n--) {
int x;
cin >> x;
cout << dec2bin(x) << endl;
}
return 0;
}
輸入
第一行是整數n(n<15),表示有n個正整數要處理
第二行是n個正整數
輸出
對每個給出的正整數,輸出其二進制表示。不足31位則用0補齊到31位
樣例輸入
3
1 2 3
樣例輸出
0000000000000000000000000000001
0000000000000000000000000000010
0000000000000000000000000000011
這裡用的算法就是除k取餘數,輸出的時候要倒序輸出,适應了C++ string的拼接方式,最後的補零操作也是這麼做的
#include <iostream>
#include <string>
using namespace std;
string dec2bin(int x)
{
// 在此處補充你的代碼
string s = "";
string s1;
while (x)
{
if (x % 2)
{
s1 = "1";
}
else
{
s1 = "0";
}
x = x / 2;
s = s1 + s;
}
for (int i = s.size(); i < 31; i++)
{
s = "0" + s;
}
return s;
}
int main() {
int n;
cin >> n;
while (n--) {
int x;
cin >> x;
cout << dec2bin(x) << endl;
}
return 0;
}