C++实现:十进制数到负进制数的奇妙转换(附代码详解)
```cpp #include <iostream> #include <string> #include <algorithm> using namespace std; // 将十进制数转换为负进制数 string convertToNegativeBase(int num, int base) { if (num == 0) return "0"; string result = ""; while (num != 0) { int remainder = num % base; num /= base; if (remainder < 0) { // 处理余数为负的情况 remainder -= base; num++; } if (remainder < 10) { result += to_string(remainder); } else { // 处理大于9的数码 result += static_cast<char>('A' + remainder - 10); } } reverse(result.begin(), result.end()); return result; } int main() { int n, R; cin >> n >> R; string negativeBaseNumber = convertToNegativeBase(n, R); cout << n << "=" << negativeBaseNumber << "(base" << R << ")" << endl; return 0; } ``` 代码说明: 1. 函数 `convertToNegativeBase`: - 该函数用于将十进制数 `num` 转换为负进制数,以字符串形式返回。 - 若 `num` 为 0,直接返回 "0"。 - 使用循环,每次计算当前 `num` 对目标负进制 `base` 的余数,然后更新 `num` 为商。 - 若余数为负数,则通过 `remainder -= base` 和 `num++` 调整余数和商,确保余数为非负。 - 若余数小于 10,直接将其转换为字符串添加到结果中;若大于等于 10,则转换为对应的字母(如 A 表示 10,B 表示 11 等)。 - 最后将结果字符串反转。 2. 主函数 `main`: - 从标准输入读取十进制数 `n` 和负进制基数 `R`。 - 调用 `convertToNegativeBase` 函数将 `n` 转换为负进制数。 - 按照指定格式输出结果。 ######[AI问答 | 526点数解答 | 2026-02-07 20:37:30]
- 揭秘!十进制数到负进制数的转换程序及代码详解(DeepSeek | 490点数解答 | 2026-01-20 17:31:14)36
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)345
- 深度揭秘 Oracle Workarea Size Policy:参数调优助力数据库性能飞升(阿里通义 | 372点数解答 | 2024-05-13 10:54:45)229
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)313
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)464
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)356
- 探秘 19 进制:揭开 X 星球记数方式的神秘面纱(GPT | 268点数解答 | 2024-11-17 09:04:06)131
- Python 实现:轻松将十进制数转换为 2 - 36 进制数(字节豆包 | 509点数解答 | 2026-01-02 19:40:44)51
- Python 实现:将十进制整数高效转换为 x 进制的详细解析(字节豆包 | 499点数解答 | 2026-01-10 20:39:11)36
- C++ 实现:判断 N 个数在二进制、八进制、十进制、十六进制下的可能性(字节豆包 | 812点数解答 | 2026-01-02 19:28:20)49
- Python实现:判断数字在二进制、八进制、十进制、十六进制中的可能性(字节豆包 | 405点数解答 | 2026-01-02 19:43:33)44
- 巧用 Python:判断数字在二进制、八进制、十进制、十六进制中的可能性(字节豆包 | 251点数解答 | 2026-01-02 19:44:35)48