各种进制转换
Posted 凌晨一点
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了各种进制转换相关的知识,希望对你有一定的参考价值。
#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> #include <vector> #include <cmath> #include <algorithm> using namespace std; //十进制n转r进制 void turnTor(long long n,int r) { int a[1000]; int t; int i=0; while(n>0) { t=n%r; a[i]=t; n=n/r; i++; } for(int j=i-1; j>=0; j--) { if(a[j]>=10) { cout<<a[j]-10+‘A‘; } else { cout<<a[j]; } } cout<<endl; } //k进制数s[]转十进制 void turnToten(char s[],int r) { int t; long long sum=0; int len=strlen(s); //得到字符串长度 for(int i=0;i<len;i++) { if(s[i]>=‘0‘&&s[i]<=‘9‘) { t=s[i]-‘0‘; } else if(s[i]>=‘A‘&&s[i]<=‘Z‘) { t=s[i]-‘A‘+10; } sum=sum+t*(pow(r,len-1-i)); } printf("%lld\n",sum); } int main() { /* //十进制n转r进制 int n,r; while(~scanf("%lld%d",&n,&r)) { if(n<0) { n=-n; cout<<"-"; } turnTor(n,r); } */ //k进制数s[]转十进制 char s[33]; int k; while(~scanf("%s",s)) { scanf("%d",&k); turnToten(s,k); } return 0; }
以上是关于各种进制转换的主要内容,如果未能解决你的问题,请参考以下文章