文章

121

粉丝

68

获赞

94

访问

20.3k

头像
二进制数字翻转 题解:他这个翻转啊,就是字符串的reverse,不是01翻
P1487 北京邮电大学2018年机试题
发布于2025年2月7日 10:39
阅读数 121

#include <bits/stdc++.h>
using namespace std;

string intToBinary(int x){
    string s;
    while(x!=0){
        s.push_back(x%2+'0');
        x/=2;
    }
    while(s.size()<32)s.push_back('0');
    return s;
}

long long binaryReverseTransInt(string s){
    long long ans=0;
    for(int i=0;i<s.size();i++){
        int k=s[i]=='0'?0:1;
        ans*=2;
        ans+=k;
    }
    return ans;
}

int main(){
    int n;
    while(cin>>n){
        while(n--){
            long long x;cin>>x;
            cout<<binaryReverseTransInt(intToBinary(x))<<endl;
        }
    }
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发