用c++写出一个程序,接受一个十六进制的数,输出该数值的十进制表示
时间: 2023-12-14 10:39:31 浏览: 225
以下是一个使用 C++ 编写的程序,可以将十六进制数转换为十进制数:
```c++
#include <iostream>
#include <string>
#include <cmath>
using namespace std;
int main()
{
string hex;
int decimal = 0;
cout << "Enter a hexadecimal number: ";
cin >> hex;
for (int i = 0; i < hex.length(); i++) {
char c = hex[i];
int d;
if (c >= '0' && c <= '9') {
d = c - '0';
}
else if (c >= 'A' && c <= 'F') {
d = c - 'A' + 10;
}
else if (c >= 'a' && c <= 'f') {
d = c - 'a' + 10;
}
else {
cout << "Invalid input" << endl;
return 1;
}
decimal += d * pow(16, hex.length() - i - 1);
}
cout << "Decimal equivalent: " << decimal << endl;
return 0;
}
```
程序首先要求用户输入一个十六进制数,然后使用一个 for 循环遍历每个十六进制数字,并将其转换为十进制数。在循环中,我们将字符转换为数字,然后使用 pow 函数将其转换为十进制数。最后,程序输出十进制等效值。
阅读全文