我认为我的 vs 代码中存在一些问题即使在编写了正确的代码之后它也给我错误的结果在我编写的几乎每一秒代码中我都得到了不确定的结果请帮我解决这个问题,请检查运行此代码在你的机器里......
#include <iostream>
using namespace std;
int main()
{
char a[30];
cout << "enter the hexadecimal";
cin >> a;
int i = 0, c, digit, decimal = 0, p = 1;
while (a[i] != '\0') {
i++;
}
for (int j = i; j >= 0; j--) {
c = a[j];
if (c >= 48 && c <= 57) {
digit = c - 48;
}
else if (c >= 97 && c <= 112) {
digit = c - 87;
}
decimal += digit * p;
p *= 8;
}
cout << "\ndecimal is " << decimal;
return 0;
}
在输入十六进制请仅输入小字母时,我没有考虑大写字母
要检查十六进制到十进制,请使用此站点https://www.rapidtables.com/convert/number/hex-to-decimal.html?x=146