0) { int rem = num % base; result = (char)(rem < 10 ? rem + '0' : rem + 'A' - 10) + result; num /="> 0) { int rem = num % base; result = (char)(rem < 10 ? rem + '0' : rem + 'A' - 10) + result; num /=">
117.info
人生若只如初见

c++进制转换算法怎么实现

C++中可以使用以下算法来实现进制转换:

  1. 十进制转其他进制:
#include 
#include 

std::string decToBase(int num, int base) {
    std::string result = "";
    
    while (num > 0) {
        int rem = num % base;
        result = (char)(rem < 10 ? rem + '0' : rem + 'A' - 10) + result;
        num /= base;
    }
    
    return result;
}

int main() {
    int num = 123;
    int base = 16;

    std::string result = decToBase(num, base);
    std::cout << result << std::endl;

    return 0;
}
  1. 其他进制转十进制:
#include 
#include 

int baseToDec(const std::string& num, int base) {
    int result = 0;
    int power = 1;

    for (int i = num.length() - 1; i >= 0; i--) {
        int digit = (num[i] >= '0' && num[i] <= '9') ? (num[i] - '0') : (num[i] - 'A' + 10);
        result += digit * power;
        power *= base;
    }

    return result;
}

int main() {
    std::string num = "7B";
    int base = 16;

    int result = baseToDec(num, base);
    std::cout << result << std::endl;

    return 0;
}

以上示例分别实现了十进制转其他进制和其他进制转十进制的算法,你可以根据实际需求,选择合适的算法来进行进制转换。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe07aAzsLAwRTA1U.html

推荐文章

  • C++类实例化的方法有哪些

    C++类实例化的方法共有三种: 使用new关键字:使用new关键字可以在堆上动态分配内存,并创建类的实例。示例代码如下: ClassName* obj = new ClassName(); 在栈上...

  • c#怎么获得数组长度

    在C#中,可以使用数组的Length属性来获取数组的长度。下面是一个示例:
    int[] array = { 1, 2, 3, 4, 5 };
    int length = array.Length; // 获取数组的...

  • c++宏定义的用法是什么

    C++宏定义是一种预处理指令,用于在编译之前替换代码中的文本。它可以用于定义常量、函数宏和条件编译等。以下是宏定义的几种常见用法: 定义常量:可以使用宏定...

  • c++创建对象的方法是什么

    在C++中,创建对象的方法有以下几种: 使用new关键字进行动态内存分配:
    ClassName *obj = new ClassName(); 使用自动变量进行对象的创建:
    ClassName...

  • vb如何设置文本框内容

    在VB中,可以使用TextBox控件来设置文本框的内容。要设置文本框的内容,可以使用TextBox.Text属性,该属性用于获取或设置文本框中显示的文本内容。
    以下是设...

  • java中format右补空格怎么实现

    在Java中,可以使用String.format()方法来实现右补空格的格式化操作。下面是一个示例代码:
    String str = "Hello";
    int length = 10; // 目标字符串的...

  • c++文件输入输出语句怎么写

    在C++中,文件的输入输出可以使用iostream库中的ifstream和ofstream类来实现。具体的写法如下:
    文件输出(写文件):
    #include #include int main() ...

  • java中的scanner类怎么使用

    Scanner类是Java中用来读取用户输入的工具类,可以通过创建Scanner对象来使用。 首先,需要导入Scanner类所在的包,可以在代码文件的开头添加以下语句:
    im...