|
沙发
楼主 |
发表于 2018-7-23 20:59:28
|
只看该作者
十进制转十六进制 就是把这个数字不停地去除以16,直到为0为止,除的余数要进行处理,<=9 的话输出对应的数字,>=10的话得输出ABCDEF
- #include <iostream>
- using namespace std;
- int i,x,k;
- string s;
- int main()
- {
- cin>>x;
- while (x>0)
- {
- k=x%16;
- x=x/16;
- if (k<=9) s=char('0'+k)+s;
- else s=char('A'+k-10)+s;
- }
- cout<<s;
- return 0;
- }
复制代码 十六转10 的话就是把每一位摘下来处理,这里要注意秦九昭算法。- #include <iostream>
- using namespace std;
- int i,x,k,l;
- string s;
- int main()
- {
- cin>>s;
- x=0;
- l=s.size();
- for (i=0; i<=l-1; i++)
- {
- if (s[i]<='9') k=s[i]-'0';
- else k=s[i]-'A'+10;
- x=x*16+k;
- }
- cout<<x;
- return 0;
- }
复制代码
|
|