北邮机试2018计算机A-逆序二进制
buf[]本来存的数字是逆序的,本题要求逆序,正好直接用
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
int main(){
LL a;
LL buf[105];
LL num;
while(scanf("%lld",&a)!=EOF){
num = 0;
while(a!=0){
buf[num++] = a%2;
a = a/2;
}
LL sum = 0;
for(LL i=0;i<num;i++){
sum = sum*2+buf[i];
}
printf("%lld\n",sum);
}
return 0;
}