在 C++ 中,可以使用不同的方式来表示和转换不同进制数,包括二进制、八进制、十进制和十六进制。
1. 不同进制数的表示
#include <iostream>
int main() {
int binary = 0b1010; // 二进制,以 0b 或者 0B 开头
int octal = 012; // 八进制,以 0 开头
int decimal = 10; // 十进制,默认为十进制
int hexadecimal = 0xA; // 十六进制,以 0x 或者 0X 开头
std::cout << "Binary: " << binary << std::endl;
std::cout << "Octal: " << octal << std::endl;
std::cout << "Decimal: " << decimal << std::endl;
std::cout << "Hexadecimal: " << hexadecimal << std::endl;
return 0;
}
2. 不同进制数的转换
#include <iostream>
#include <string>
int main() {
// 将字符串转换为对应的进制数
std::string binaryStr = "1010";
std::string octalStr = "12";
std::string decimalStr = "10";
std::string hexadecimalStr = "A";
//将二进制字符串转换为整数
int binary = std::stoi(binaryStr, 0, 2);
// 将八进制字符串转换为整数
int octal = std::stoi(octalStr, 0, 8);
// 将十进制字符串转换为整数
int decimal = std::stoi(decimalStr);
// 将十六进制字符串转换为整数
int hexadecimal = std::stoi(hexadecimalStr, 0, 16);
std::cout << "Binary: " << binary << std::endl;
std::cout << "Octal: " << octal << std::endl;
std::cout << "Decimal: " << decimal << std::endl;
std::cout << "Hexadecimal: " << hexadecimal << std::endl;
return 0;
}
参考: