• 十六进制转八进制


    题目链接:http://lx.lanqiao.cn/problem.page?gpid=T51

    demo:

    #include <iostream>
    #include <string>
    using namespace std;
    
    int main()
    {
        int Number;
        cin >> Number;
        for(int k = 1; k <= Number; k++) {
            string String_Hex, String_Binary;
            cin >> String_Hex;
            String_Binary = "";
            for(int i = 0;i < String_Hex.length(); i++){
                switch(String_Hex[i]) {
                    case '0':String_Binary += "0000"; break;
                    case '1':String_Binary += "0001"; break;
                    case '2':String_Binary += "0010"; break;
                    case '3':String_Binary += "0011"; break;
                    case '4':String_Binary += "0100"; break;
                    case '5':String_Binary += "0101"; break;
                    case '6':String_Binary += "0110"; break;
                    case '7':String_Binary += "0111"; break;
                    case '8':String_Binary += "1000"; break;
                    case '9':String_Binary += "1001"; break;
                    case 'A':String_Binary += "1010"; break;
                    case 'B':String_Binary += "1011"; break;
                    case 'C':String_Binary += "1100"; break;
                    case 'D':String_Binary += "1101"; break;
                    case 'E':String_Binary += "1110"; break;
                    case 'F':String_Binary += "1111"; break;
                    default:break;
                }
            }
            if(String_Binary.length() % 3 == 1) String_Binary = "00" + String_Binary;
            else if(String_Binary.length() % 3 == 2) String_Binary = '0' + String_Binary;
            int Sign_Leading_Zero = 0;
            for(int i = 0;i <= String_Binary.length() - 3; i += 3){
                int Digit_Number = 4 * (String_Binary[i] - '0') + 2 * (String_Binary[i+1] - '0') + (String_Binary[i+2] - '0');
                if(Digit_Number) Sign_Leading_Zero = 1;
                if(Sign_Leading_Zero) cout << Digit_Number;
            }
            cout << endl;
        }
        return 0;
    }
  • 相关阅读:
    结构型模式之桥接模式
    结构型模式之适配器模式
    使用AutoCloseable 实现自动关闭资源
    创建型模式之多例模式
    创建型模式之原型模式
    创建型模式之单例模式
    创建型模式之Builder(建造者)模式
    创建型模式之工厂模式
    JavaScript------对象的使用
    JavaScript------分页插件下载地址
  • 原文地址:https://www.cnblogs.com/XuYiting/p/9700921.html
Copyright © 2020-2023  润新知