关于进制转换的思路(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 }

 

posted @ 2020-03-24 22:56  caxi  阅读(320)  评论(0编辑  收藏  举报