📜  十六进制或二进制到 int c++ (1)

📅  最后修改于: 2023-12-03 15:37:02.358000             🧑  作者: Mango

十六进制或二进制到 int c++

在C++中将十六进制或二进制数转换为整型数的方法非常简单。

将十六进制转换为 int

在C++中可以使用std::stoi函数将十六进制字符串转换为整型数:

#include <string>

int main() {
    std::string hex = "4B"; // 十六进制字符串
    int dec = std::stoi(hex, nullptr, 16); // 将十六进制字符串转为整型数
    return 0;
}

上面的代码片段中,“16”表示转换为十六进制,如果要将字符串转换为其他进制,只需要修改此数字即可。

将二进制转换为 int

同样地,在C++中可以使用std::stoi函数将二进制字符串转换为整型数:

#include <string>

int main() {
    std::string bin = "1001011"; // 二进制字符串
    int dec = std::stoi(bin, nullptr, 2); // 将二进制字符串转为整型数
    return 0;
}

上面的代码片段中,“2”表示转换为二进制,如果要将字符串转换为其他进制,只需要修改此数字即可。

注意事项

在转换十六进制或二进制字符串时,需要确保字符串中的每个字符都是有效的十六进制或二进制数位。对于无效字符,std::stoi函数将抛出一个异常。

此外,如果要转换的整型数太大,无法用标准的整型类型表示,可以考虑使用uint64_tint64_t等更大的整型类型。