模拟,照题意打的QAQ
#include<bits/stdc++.h>
using namespace std;
int n,k;
string h="";
string PourLZ(string s,int l)//R
{
int ls=s.size();string k="";
for(int i=0;i<l-ls;i++) k+="0";
k+=s;return k;
}
string stoe(int a)
{
stack<int> s;
char ys;string ans="";
while(a)
{
ys=char(a%2+'0');
s.push(ys);
a/=2;
}
while(!s.empty())
{
ans+=s.top();
s.pop();
}
return PourLZ(ans,32);
}
string jh(string a)
{
string ans="";
for(int i=16;i<32;i++) ans+=a[i];
for(int i=0;i<16;i++) ans+=a[i];
return ans;
}
int etos(string a)
{
int ans=0;
int l=1;
for(int i=0;i<32;i++)
{
ans+=(a[32-i-1]-'0')*l;
l*=2;
}
return ans;
}
int main()
{
cin>>n;
h=stoe(n);
h=jh(h);
cout<<etos(h);
return 0;
}
求助大佬