标签:16px bottom ... int namespace output 一个 cin title
分析:
进制转换用到的就是不断除以要转换的进制数,然后把得到的各个余数逆序排列
有这个关系式:M=a1xn-1+a2xn--2+a3xn-3......+anx0
其中 M为给出的10进制数,n为进制转换后的位数,a1,a2,a3...an则为第n位上的具体数据
将这个过程逆推即可
注意点:输出时由于不会超过16进制,所以直接 “%x”输出即可
1 #include<iostream> 2 using namespace std; 3 4 int main() 5 { 6 int n,m,r,v; 7 int c[35]; 8 while(cin>>m>>r) 9 { 10 int i=1; 11 n=(m>0?m:-m); 12 while(n) 13 { 14 int v=n%r; 15 n/=r; 16 c[i++]=v; 17 } 18 if(m<0) 19 cout<<"-"; 20 while(--i) 21 printf("%X",c[i]); 22 cout<<endl; 23 } 24 }
标签:16px bottom ... int namespace output 一个 cin title
原文地址:http://www.cnblogs.com/tenjl-exv/p/8000697.html