用c语言写一个16进制转八进制
时间: 2023-05-11 13:06:05 浏览: 100
基于对知乎热榜话题的数据抓取分析与可视化python实现源码+文档说明(高分完整项目)
以下是用 C 语言编写的将 16 进制数转换为 8 进制数的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char hex[20], oct[20];
int i, j, k, len, sum;
printf("请输入一个16进制数:");
scanf("%s", hex);
len = strlen(hex);
j = len - 1;
k = 0;
while (j >= 0) {
sum = 0;
for (i = 0; i < 3 && j >= 0; i++) {
if (hex[j] >= '0' && hex[j] <= '9') {
sum += (hex[j] - '0') << (4 * i);
} else if (hex[j] >= 'A' && hex[j] <= 'F') {
sum += (hex[j] - 'A' + 10) << (4 * i);
} else if (hex[j] >= 'a' && hex[j] <= 'f') {
sum += (hex[j] - 'a' + 10) << (4 * i);
}
j--;
}
oct[k++] = sum / 64 + '0';
oct[k++] = (sum % 64) / 8 + '0';
oct[k++] = sum % 8 + '0';
}
printf("转换后的8进制数为:");
for (i = k - 1; i >= 0; i--) {
printf("%c", oct[i]);
}
printf("\n");
return 0;
}
```
输入一个 16 进制数,程序将其转换为 8 进制数并输出。
阅读全文