📅  最后修改于: 2023-12-03 15:37:02.358000             🧑  作者: Mango
在C++中将十六进制或二进制数转换为整型数的方法非常简单。
在C++中可以使用std::stoi
函数将十六进制字符串转换为整型数:
#include <string>
int main() {
std::string hex = "4B"; // 十六进制字符串
int dec = std::stoi(hex, nullptr, 16); // 将十六进制字符串转为整型数
return 0;
}
上面的代码片段中,“16”表示转换为十六进制,如果要将字符串转换为其他进制,只需要修改此数字即可。
同样地,在C++中可以使用std::stoi
函数将二进制字符串转换为整型数:
#include <string>
int main() {
std::string bin = "1001011"; // 二进制字符串
int dec = std::stoi(bin, nullptr, 2); // 将二进制字符串转为整型数
return 0;
}
上面的代码片段中,“2”表示转换为二进制,如果要将字符串转换为其他进制,只需要修改此数字即可。
在转换十六进制或二进制字符串时,需要确保字符串中的每个字符都是有效的十六进制或二进制数位。对于无效字符,std::stoi
函数将抛出一个异常。
此外,如果要转换的整型数太大,无法用标准的整型类型表示,可以考虑使用uint64_t
或int64_t
等更大的整型类型。