酷代码 AI
菜单
服务商

输入一个长度为4的二进制字符串,求该二进制数对应的十进制值是多少?样例输入了二进制数0011,转化为十进制数为1*2^0+1*2^1+0*2^2+0*2^3=3 输入: 一个长度为4的二进制字符串 输出: 一个整数,表示这个二进制数对应的十进制数值 输入样例: 0011 输出样例: 3 时间/内存: 1000MS/100MBc++

以下是使用 C++ 实现将长度为 4 的二进制字符串转换为十进制整数的代码: ```cpp #include <iostream> #include <string> int binaryToDecimal(const std::string& binary) { int decimal = 0; // 遍历二进制字符串的每一位 for (int i = 0; i < 4; ++i) { // 如果当前位是 '1',则计算该位对应的十进制值并累加到结果中 if (binary[3 - i] == '1') { decimal += (1 << i); } } return decimal; } int main() { std::string binary; // 读取输入的二进制字符串 std::cin >> binary; // 调用 binaryToDecimal 函数将二进制字符串转换为十进制整数 int decimal = binaryToDecimal(binary); // 输出转换后的十进制整数 std::cout << decimal << std::endl; return 0; } ``` 代码说明: 1. `binaryToDecimal` 函数:该函数接受一个长度为 4 的二进制字符串作为参数,返回对应的十进制整数。通过遍历二进制字符串的每一位,若当前位为 `'1'`,则将该位对应的十进制值累加到结果中。 2. `main` 函数:读取用户输入的二进制字符串,调用 `binaryToDecimal` 函数进行转换,并输出转换后的十进制整数。 复杂度分析: - 时间复杂度:代码的时间复杂度为 $O(4)$,因为只需要遍历长度为 4 的二进制字符串,可视为常数时间复杂度。 - 空间复杂度:代码的空间复杂度为 $O(1)$,只使用了常数级的额外空间。 [2026-02-07 19:36:03 | AI问答 | 405点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多