十进制转换n进制 c++代码
时间: 2023-09-02 16:13:29 浏览: 258
当将十进制数转换为n进制数时,可以使用除法法则。以下是一个用C++编写的示例代码,可以将十进制数转换为任意进制数:
```cpp
#include <iostream>
#include <string>
std::string decimalToNBase(int decimal, int base) {
std::string result = "";
while (decimal > 0) {
int remainder = decimal % base;
if (remainder < 10) {
result = std::to_string(remainder) + result;
} else {
result = char(remainder - 10 + 'A') + result;
}
decimal /= base;
}
return result;
}
int main() {
int decimal;
int base;
std::cout << "Enter the decimal number: ";
std::cin >> decimal;
std::cout << "Enter the base: ";
std::cin >> base;
std::string nBaseNumber = decimalToNBase(decimal, base);
std::cout << "The equivalent number in base " << base << " is: " << nBaseNumber << std::endl;
return 0;
}
```
这个代码示例中,`decimalToNBase` 函数将十进制数 `decimal` 转换为 `base` 进制数,并返回一个字符串表示结果。函数使用除法法则来计算余数,并将余数转换为相应的字符(如果大于等于10,则使用字母表示)。最后,主函数通过用户输入获取十进制数和目标进制数,并打印转换结果。
请注意,此代码仅适用于将十进制数转换为小于等于16进制的其他进制数。如果需要转换为更高进制(例如32进制、64进制等),需要相应地修改代码。
阅读全文