• 十进制转十六进制(普通版)


    #include<iostream>
    #include<string>
    #include<sstream>








    using namespace std;








    string getTwo(long long data);
    string getOX(string data);
    string T_X(string data);








    int main(int argc,char** argv){

    long long data;
    cin >> data;
    cout << getOX(getTwo(data));

    return 0;
    }








    string getTwo(long long data){

    string temp = "";

    while(data){

    int value = data - 2 * (data / 2);
    data = data / 2;
    string value_temp = "";
    stringstream ss;
    ss << value;
    ss >> value_temp;
    ss.clear();
    temp = value_temp + temp;
    }

    return temp;
    }








    string getOX(string data){

    string resault = "";
    int length = data.length();
    int flag = 0;

    if(length % 4 == 0){


    }else if(length % 4 == 1){

    data = "000" + data;

    }else if(length % 4 == 2){

    data = "00" + data;

    }else if(length % 4 == 3){

    data = "0" + data;
    }

    length = data.length();

    if(length == 0){

    return "0";
    }

    for(int i = 0;i < length;i = i + 4){

    string temp = "";
    temp = temp + data[i] + data[i + 1] + data[i + 2] + data[i + 3];

    if(T_X(temp) != "0"){

    flag = 1;
    }

    if(flag){

    resault = resault + T_X(temp);
    }
    }

    return resault;
    }








    string T_X(string data){

    if(data == "0000"){

    return "0";

    }else if(data == "0001"){

    return "1";

    }else if(data == "0010"){

    return "2";

    }else if(data == "0011"){

    return "3";

    }else if(data == "0100"){

    return "4";

    }else if(data == "0101"){

    return "5";

    }else if(data == "0110"){

    return "6";

    }else if(data == "0111"){

    return "7";

    }else if(data == "1000"){

    return "8";

    }else if(data == "1001"){

    return "9";

    }else if(data == "1010"){

    return "A";

    }else if(data == "1011"){

    return "B";

    }else if(data == "1100"){

    return "C";

    }else if(data == "1101"){

    return "D";

    }else if(data == "1110"){

    return "E";

    }else if(data == "1111"){

    return "F";

    }else{

    return "X";
    }
    }



  • 相关阅读:
    Android开发:系统自动实现开机启动
    Android高手进阶教程【转】
    android 各种控件颜色值
    Android开发博客国内最大的移动开发博客eoe移动开发者社区
    异步图片加载工具类
    Android中shape的使用
    Android的asset/res资源框架结构
    winddows 运行指令 (2)
    使用activeMQ实现jms
    ActiveMQ在C#中的应用
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700718.html
Copyright © 2020-2023  润新知