基础练习 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进制的主要内容,如果未能解决你的问题,请参考以下文章

基础练习 十六进制转八进制

Java蓝桥杯基础练习

蓝桥杯 基础练习 十六进制转十进制

基础练习 十六进制转八进制

基础练习 ——十六进制转十进制

[蓝桥] 基础练习 十六进制转十进制