在C++中,将16进制数转换为10进制数非常简单,只需要使用内置的流式输入/输出库中的函数即可。
16进制字符串转16进制数组以下是一个示例代码,将16进制数转换为10进制数,并处理负数:
c复制代码
#include<iostream>
#include<string>
#include<algorithm>
int hexToDecimal(const std::string& hex) {
int decimal = std::stoi(hex, nullptr, 16); // 将16进制字符串转换为10进制整数
if (decimal < 0) { // 如果结果是负数,则返回其绝对值
decimal = -decimal;
}
return decimal;
}
int main() {
std::string hex;
std::cout << "Enter a hexadecimal number: ";
std::cin >> hex;
int decimal = hexToDecimal(hex);
std::cout << "The decimal equivalent of " << hex << " is " << decimal << std::endl;
return0;
}
在这个示例代码中,我们定义了一个名为hexToDecimal的函数,它接受一个16进制字符串作为参数,并
返回其10进制等效值。我们使用std::stoi函数将16进制字符串转换为整数,并指定基数为16。如果结果是负数,则将其转换为绝对值。最后,我们在main函数中获取用户输入的16进制数,调用hexToDecimal函数将其转换为10进制数,并输出结果。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论