以下是使用 stringstream 将 16 进制转换为 10 进制的 C++ 代码:

#include <iostream>
#include <sstream>
#include <string>

using namespace std;

int main() {
    string hexString;
    cout << 'Enter a hexadecimal number: ';
    getline(cin, hexString);

    stringstream ss;
    ss << hexString; // 将字符串输入到 stringstream 中

    int decimalNum;
    ss >> std::hex >> decimalNum; // 使用 hex 格式将 stringstream 中的字符串转换为整数

    cout << 'The decimal equivalent of ' << hexString << ' is ' << decimalNum << endl;

    return 0;
}

在上面的代码中,我们首先使用 getline 函数从标准输入中读取一个 16 进制字符串。然后,我们将这个字符串输入到一个 stringstream 中,并使用 std::hex 格式将其转换为整数类型。最后,我们输出转换后的 10 进制整数。

请注意,我们必须在使用 >> 运算符将 stringstream 中的值提取到 decimalNum 变量中之前,使用 std::hex 格式将其转换为整数。这是因为在默认情况下,stringstream 将字符串解释为 10 进制整数,而我们需要将其解释为 16 进制整数。

C++ 使用 stringstream 将十六进制转换为十进制

原文地址: https://www.cveoy.top/t/topic/nQba 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录