【题面】
【题解】
题意:将给定字符串的每个字符的ASCII码转八位二进制并倒置,总的二进制串每六位转十进制输出。
思路:模拟即可,注意输出格式为每个数字跟一个空格且无换行。
【代码】
#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
char s[3*maxn+10];
int ans[24*maxn+10];
int main()
{
scanf("%s",s);
int l=strlen(s),cnt=0;
for(int i=0;i<l;i++){
int num=s[i],sum=0;
while(num){
ans[cnt++]=num%2;
num/=2;
}
for(;cnt<(i+1)*8;cnt++)
ans[cnt]=0;
}
int sum=0,mul=32;
for(int i=0;i<cnt;i++){
if(ans[i]) sum+=mul;
mul/=2;
if(i%6==5){
printf("%d ",sum),sum=0;
mul=32;
}
}
return 0;
}