十进制整数转化为R进制整数算法的代码(C++)
时间: 2024-11-13 13:41:36 浏览: 15
在C++中,我们可以使用递归的方式来进行十进制转任意进制(R进制)的转换。下面是一个简单的示例代码:
```cpp
#include <iostream>
#include <string>
// Function to convert decimal number to any base (R)
std::string decToBase(int n, int R) {
if(n == 0)
return "0";
else {
std::string result = decToBase(n / R, R); // Recursive call for the remaining digits
result += static_cast<char>('0' + n % R); // Add current digit to the beginning of the result
return result;
}
}
int main() {
int decimalNum = 1234; // Your decimal number
int radix = 8; // Example, converting to octal
std::cout << "Decimal: " << decimalNum << " in Base " << radix << ": " << decToBase(decimalNum, radix) << std::endl;
return 0;
}
```
在这个代码中,`decToBase`函数接收两个参数,一个是当前的十进制数值`n`,另一个是要转换到的基数`R`。它首先检查`n`是否为0,如果是,则返回"0"作为结果。否则,它会递归地处理剩余的位数,并将当前余数转换为对应于基数的字符添加到结果字符串的开头。
运行此程序将会得到十进制1234转换成八进制的结果。
阅读全文