如何string str=“01”按位取反得到10
时间: 2023-12-14 10:03:53 浏览: 197
cell2str.m.zip
对于字符串 "01" 按位取反得到的结果是 "1100",因为字符串 "01" 对应的二进制数是 "00110001",按位取反后变成 "11001110",再把它转换回字符串就是 "1100"。
如果要把字符串 "1100" 转换成十进制数 10,可以使用标准库中的 stoi() 函数,将字符串转换成整数,如下所示:
```c++
#include <iostream>
#include <string>
using namespace std;
int main() {
string str = "1100";
int x = stoi(str, nullptr, 2);
cout << x << endl; // 输出 10
return 0;
}
```
其中,第二个参数为nullptr表示使用默认的基数(即十进制),第三个参数为2表示使用二进制作为基数进行转换。
阅读全文