C++实现4位二进制字符串转十进制数及开发建议
### 🍃思路分析 要将一个长度为 4 的二进制字符串转换为十进制数,可以根据二进制转十进制的原理,从右到左依次将每一位乘以 2 的相应次幂,然后将结果相加。 ### 💻代码实现 ```cpp #include <iostream> #include <string> #include <cmath> int binaryToDecimal(std::string binary) { int decimal = 0; for (int i = 0; i < 4; i++) { if (binary[3 - i] == '1') { decimal += std::pow(2, i); } } return decimal; } int main() { std::string binary; std::cin >> binary; int decimal = binaryToDecimal(binary); std::cout << decimal << std::endl; return 0; } ``` ### 🔍代码解释 1. **`binaryToDecimal` 函数**: - 此函数接收一个长度为 4 的二进制字符串作为参数。 - 使用 `for` 循环从右到左遍历字符串的每一位。 - 若当前位为 `'1'`,则将 2 的相应次幂累加到 `decimal` 变量中。 - 最后返回转换后的十进制数。 2. **`main` 函数**: - 读取用户输入的二进制字符串。 - 调用 `binaryToDecimal` 函数进行转换。 - 输出转换后的十进制数。 ### ⚙️复杂度分析 - **时间复杂度**:$O(4) = O(1)$,因为字符串长度固定为 4。 - **空间复杂度**:$O(1)$,只使用了常数级的额外空间。 ### 🚀开发建议 - **输入验证**:在实际应用中,可以添加输入验证,确保用户输入的字符串长度为 4 且仅包含 `'0'` 和 `'1'`。 - **通用性**:可以修改代码,使其支持任意长度的二进制字符串转换。 ######[AI写代码神器 | 493点数解答 | 2026-08-22 19:22:20]
- C++ 求解:最少操作次数让字符串无子串 “friend” (字节豆包 | 153点数解答 | 2024-08-17 16:29:54)564
- C++ 求解:最少操作次数让字符串不再含 “friend” 子串!(讯飞星火 | 260点数解答 | 2024-08-17 16:30:49)563
- Python 巧解:最少操作次数让字符串告别“friend”子串(字节豆包 | 139点数解答 | 2024-08-18 13:04:14)496
- 3414 数字游戏:Python 求解 8 位 01 字符串中 1 的个数 (字节豆包 | 106点数解答 | 2024-10-27 14:23:27)515
- 巧用字符添加,计算字符串中“our”最大数量及开发注意要点(DeepSeek | 376点数解答 | 2025-10-30 19:20:06)169
- C 语言实现:处理字符串生成最多 “our” 串,附代码及关键开发注意点 (DeepSeek | 257点数解答 | 2025-10-30 19:20:36)223
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)565
- C++实现单门课程成绩管理系统:教师学生双身份操作全解析(GPT | 6361点数解答 | 2024-05-24 02:01:02)659
- C++ 实现超实用单门课程成绩管理系统,教师学生灵活使用! (GPT | 68点数解答 | 2024-05-24 10:17:09)415
- C++实现:功能完备的单门课程成绩管理系统(GPT | 4293点数解答 | 2024-05-24 10:20:03)453
- JS函数 change(n,x):轻松实现数字二进制与八进制转换及注意要点(百度文心 | 436点数解答 | 2025-04-09 22:19:11)189
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)478