AcWing 3554. 二进制
原题链接
简单
作者:
NumPy
,
2021-05-24 19:28:20
,
所有人可见
,
阅读 595
二进制
$O(1)$
C++ 代码
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <climits>
using namespace std;
int n;
void print(long long x){
for(int i = 33; i >= 0; i--){
if(x > INT_MAX || x < INT_MIN){
int bit = (x >> i) & 1;
if(i > 31 && bit) cout << 1;
else if(i <= 31) cout << bit;
}
else{
if(i <= 31) cout << ((x >> i) & 1);
}
}
cout << endl;
}
int main(){
int t;
cin >> t;
string a, b;
while(t--){
cin >> a;
reverse(a.begin(), a.end());
long long ta = 0;
for(long long i = 0, j = 1; i < a.size(); i++, j *= 2){
if(a[i] == '1') ta += j;
}
print(ta + 1LL);
print(ta + 3LL);
}
return 0;
}