基础练习 16进制转8进制
Posted joker99
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基础练习 16进制转8进制相关的知识,希望对你有一定的参考价值。
在2-8进制转换时注意后三位处理即可
#include <iostream> #include <string> using namespace std; int main() { int n,i; cin>>n; while(n--) { int num=0; string a="",b; cin>>a; b=""; for(i=0;i<a.length();i++) { switch(a[i]) { case ‘0‘:b+="0000";break; case ‘1‘:b+="0001";break; case ‘2‘:b+="0010";break; case ‘3‘:b+="0011";break; case ‘4‘:b+="0100";break; case ‘5‘:b+="0101";break; case ‘6‘:b+="0110";break; case ‘7‘:b+="0111";break; case ‘8‘:b+="1000";break; case ‘9‘:b+="1001";break; case ‘A‘:b+="1010";break; case ‘B‘:b+="1011";break; case ‘C‘:b+="1100";break; case ‘D‘:b+="1101";break; case ‘E‘:b+="1110";break; case ‘F‘:b+="1111";break; default:break; } } int flag=0; if(b.length()%3==1){ b.insert(0,"00"); }else if(b.length()%3==2){ b.insert(0,"0"); } for(i=0;i<=b.length()-3;i+=3){ num=4*(b[i]-‘0‘)+2*(b[i+1]-‘0‘)+(b[i+2]-‘0‘); if(num) flag=1; if(flag) cout<<num; } cout<<endl; } }
以上是关于基础练习 16进制转8进制的主要内容,如果未能解决你的问题,请参考以下文章