zoukankan      html  css  js  c++  java
  • 十进制转十六进制(普通版)

    #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";
    }
    }



  • 相关阅读:
    Laravel实用小功能
    _initialize() 区别 __construct()
    PHP websocket之聊天室实现
    原来PHP对象比数组用更少的内存
    PHP协程
    mongodb数据库的导出与导入
    我理解的数据结构(一)—— 数组(Array)
    Swoole 源码分析——Server模块之Worker事件循环
    PHP面试:说下什么是堆和堆排序?
    我理解的数据结构(二)—— 栈(Stack)
  • 原文地址:https://www.cnblogs.com/viplanyue/p/12700718.html
Copyright © 2011-2022 走看看