关于进制转换的思路(10转任意)
常规方法:
while(n!=0)
{
int l=n%r;
.......
n =n/r;
}
这和将莫个数的所有数字分离的思想是一样的,固定的板子。
1 #include<iostream> 2 #include<stdio.h> 3 #include<stdlib.h> 4 using namespace std; 5 int main() 6 { 7 int n,r,m; 8 char s[105]; 9 cin>>n>>r; 10 if(n<0) 11 { 12 cout<<"-"; 13 n=-n; 14 } 15 m=0; 16 while(n) 17 { 18 int now=n%r; 19 if(now<=9) 20 { 21 s[m++]='0'+now; 22 }else 23 { 24 s[m++]='A'+now-10; 25 } 26 n/=r; 27 } 28 if(m==0) 29 { 30 cout<<0; 31 } 32 for(int i=m-1;i>=0;i--) 33 { 34 cout<<s[i]; 35 } 36 cout<<endl; 37 return 0; 38 }