C++用指针输入字符串的方式输入二进制数,转换为无符号整型的十进制数
时间: 2024-02-12 17:07:22 浏览: 265
C++实现读入二进制数并转换为十进制输出
5星 · 资源好评率100%
可以通过以下代码实现:
```c++
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char* binary = new char[32]; // 二进制字符串最大长度为32位
cin >> binary; // 输入二进制字符串
int len = strlen(binary);
unsigned int decimal = 0;
for(int i = 0; i < len; i++) {
decimal = decimal * 2 + binary[i] - '0'; // 将每一位二进制数转换为十进制数
}
cout << decimal << endl; // 输出转换后的十进制数
delete[] binary; // 释放内存
return 0;
}
```
首先创建一个长度为32的字符数组来存储输入的二进制字符串,然后使用`cin`输入该字符串。接着,通过`strlen`函数获取二进制字符串的长度,并使用一个循环将每一位二进制数转换为十进制数,最后输出转换后的十进制数。需要注意的是,这里使用无符号整型来存储转换后的十进制数,因为二进制数不包含符号位。最后,别忘了释放内存。
阅读全文