#include <iostream>
#include <cstring>
using namespace std;

int exchange_HB(string num,string &num2)
{
	for(int i=0;i<=num.length()-1;i++)
	{
		if(num[i]=='0')num2=num2+"0000";
		if(num[i]=='1')num2=num2+"0001";
		if(num[i]=='2')num2=num2+"0010";
		if(num[i]=='3')num2=num2+"0011";
		if(num[i]=='4')num2=num2+"0100";
		if(num[i]=='5')num2=num2+"0101";
		if(num[i]=='6')num2=num2+"0110";
		if(num[i]=='7')num2=num2+"0111";
		if(num[i]=='8')num2=num2+"1000";
		if(num[i]=='9')num2=num2+"1001";
		if(num[i]=='A')num2=num2+"1010";
		if(num[i]=='B')num2=num2+"1011";
		if(num[i]=='C')num2=num2+"1100";
		if(num[i]=='D')num2=num2+"1101";
		if(num[i]=='E')num2=num2+"1110";
		if(num[i]=='F')num2=num2+"1111";	
	}
	//cout<<num2<<endl;
}

int exchange_BO(string num2,string &num3)
{
	
	int i;
	for(i=num2.length()-3;i>=0;i=i-3)
	{	
		string temp=num2.substr(i,3);
		//cout<<temp<<endl;
		if(temp=="000"&&i!=0)num3="0"+num3;
		if(temp=="001")num3="1"+num3;
		if(temp=="010")num3="2"+num3;
		if(temp=="011")num3="3"+num3;
		if(temp=="100")num3="4"+num3;
		if(temp=="101")num3="5"+num3;
		if(temp=="110")num3="6"+num3;
		if(temp=="111")num3="7"+num3;
	}
	if(i==-1)
	{
		string temp=num2.substr(0,2);
		if(temp=="00"&&i!=0)num3="0"+num3;
		if(temp=="01")num3="1"+num3;
		if(temp=="10")num3="2"+num3;
		if(temp=="11")num3="3"+num3;
	}
	if(i==-2)
	{
		string temp=num2.substr(0,1);
		if(temp=="0"&&i!=0)num3="0"+num3;
		if(temp=="1")num3="1"+num3;
	}
	cout<<num3<<endl;
}

int main()
{
	int n;
	cin>>n;
	while(1)
	{
		if(n==0)break;n--;
		string num,num2,num3;
		cin>>num;
		exchange_HB(num,num2);
		exchange_BO(num2,num3);
	}	
}

 

posted on 2020-01-29 18:51  海月CSDN  阅读(136)  评论(0编辑  收藏  举报