C++ 10进制与26进制相互转化模板(适用于long long 大小+大数据会TL)

26进制与10进制之间的转化

#include
#include 
using namespace std;

int main(){
	long long ans=0;
	string s;
	cin>>s;

	int len=s.size();
	for(int i=0,j=1;i<s.size();i++,j*=26){
		ans+=(int)(s[len-i-1]-65)*j;
	}
	cout<<ans<<endl;	//26进制转十进制

	string str="";
	//ans=817;
	while(ans>0){
		int m=ans%26;
		if(m==0) m=0;
		str+=(char)(m+65);
		ans=(ans-m)/26;
	}
	reverse(str.begin(),str.end());	//反序
	cout<<str<<endl;	//	十进制转26进制
	return 0;
}

你可能感兴趣的:(算法)