c++的进制转换
时间: 2023-09-26 16:09:08 浏览: 87
C++进制转换
C++ 中可以使用以下方式进行进制转换:
1. 十进制转二进制
使用 bitset 类型可以方便地将十进制数转换为二进制。例如:
```
#include <bitset>
#include <iostream>
using namespace std;
int main() {
int decimal = 10;
bitset<8> binary(decimal); // 用 8 位二进制数表示十进制数 10
cout << binary.to_string() << endl; // 输出二进制数的字符串表示
return 0;
}
```
输出结果为:
```
00001010
```
2. 十进制转八进制或十六进制
可以使用 C++ 中的流操作符(<< 和 >>)将十进制数转换为八进制或十六进制。例如:
```
#include <iostream>
using namespace std;
int main() {
int decimal = 255;
cout << oct << decimal << endl; // 将十进制数转换为八进制
cout << hex << decimal << endl; // 将十进制数转换为十六进制
return 0;
}
```
输出结果为:
```
377
ff
```
3. 二进制、八进制或十六进制转十进制
可以使用 C++ 中的流操作符(<< 和 >>)将二进制、八进制或十六进制数转换为十进制。例如:
```
#include <iostream>
using namespace std;
int main() {
string binary = "1010";
int decimal = stoi(binary, nullptr, 2); // 将二进制数转换为十进制
cout << decimal << endl;
string octal = "377";
decimal = stoi(octal, nullptr, 8); // 将八进制数转换为十进制
cout << decimal << endl;
string hex = "ff";
decimal = stoi(hex, nullptr, 16); // 将十六进制数转换为十进制
cout << decimal << endl;
return 0;
}
```
输出结果为:
```
10
255
255
```
阅读全文