// 将m进制数表示的字符串转化为10进制整数
int mstr2dec(char* str, int m) {
int dec = 0, k = 1;
int len = strlen(str);
for (int i = len - 1; i >= 0; i--) {
if (str[i] >= '0' && str[i] <= '9') {
dec += (str[i] - '0') * k;
} else if (str[i] >= 'A' && str[i] <= 'Z') {
dec += (str[i] - 'A' + 10) * k;
}
k *= m;
}
return dec;
}
// 将10进制整数转化为k进制数表示的字符串
void dec2k(int n, int k) {
char a[100];
int i = 0;
while (n) {
int r = n % k;
if (r < 10)
a[i++] = r + '0';
else
a[i++] = r - 10 + 'A';
n /= k;
}
for (int j = i - 1; j >= 0; j--)
printf("%c", a[j]);
}
进制转换 10-k m-10
最新推荐文章于 2024-09-14 22:25:23 发布