C++中的进制转换
C++提供了多种方法来实现不同进制之间的转换,包括整数与字符串之间的转换、字符串与字符串之间的转换等。以下将详细介绍几种常见的进制转换方法及应用场景。
整数转换为不同进制的字符串
使用std::bitset、std::oct、std::hex等工具可以方便地将整数转换为二进制、八进制或十六进制的字符串表示。
#include <iostream>
#include <bitset>
#include <iomanip>
int main() {
int num = 42;
// 转换为二进制
std::cout << "Binary: " << std::bitset<8>(num) << std::endl;
// 转换为八进制
std::cout << "Octal: " << std::oct << num << std::endl;
// 转换为十六进制
std::cout << "Hexadecimal: " << std::hex << num << std::endl;
return 0;
}
输出结果:
Binary: 00101010
Octal: 52
Hexadecimal: 2a
字符串转换为整数
通过std::stoi、std::stol等函数,可以将字符串按指定进制转换为整数。第二个参数用于指定进制。
#include <iostream>
#include <string>
int main() {
std::string binary_str = "101010";
std::string octal_str = "52";
std::string hex_str = "2a";
// 二进制字符串转为整数
int binary_num = std::stoi(binary_str, nullptr, 2);
std::cout << "Binary to int: " << binary_num << std::endl;
// 八进制字符串转为整数
int octal_num = std::stoi(octal_str, nullptr, 8);
std::cout << "Octal to int: " << octal_num << std::endl;
// 十六进制字符串转为整数
int hex_num = std::st
### C++中的进制转换
C++提供了多种方法来实现不同进制之间的转换,包括整数与字符串之间的转换、字符串与字符串之间的转换等。以下将详细介绍几种常见的进制转换方法及应用场景。
---
### 整数转换为不同进制的字符串
使用`std::bitset`、`std::oct`、`std::hex`等工具可以方便地将整数转换为二进制、八进制或十六进制的字符串表示。
```cpp
#include <iostream>
#include <bitset>
#include <iomanip>
int main() {
int num = 42;
// 转换为二进制
std::cout << "Binary: " << std::bitset<8>(num) << std::endl;
// 转换为八进制
std::cout << "Octal: " << std::oct << num << std::endl;
// 转换为十六进制
std::cout << "Hexadecimal: " << std::hex << num << std::endl;
return 0;
}
输出结果:
Binary: 00101010
Octal: 52
Hexadecimal: 2a
字符串转换为整数
通过std::stoi、std::stol等函数,可以将字符串按指定进制转换为整数。第二个参数用于指定进制。
#include <iostream>
#include <string>
int main() {
std::string binary_str = "101010";
std::string octal_str = "52";
std::string hex_str = "2a";
// 二进制字符串转为整数
int binary_num = std::stoi(binary_str, nullptr, 2);
std::cout << "Binary to int: " << binary_num << std::endl;
// 八进制字符串转为整数
int octal_num = std::stoi(octal_str, nullptr, 8);
std::cout << "Octal to int: " << octal_num << std::endl;
// 十六进制字符串转为整数
int hex_num = std::st
493

被折叠的 条评论
为什么被折叠?



