八进制转十六进制c语言
时间: 2024-06-18 11:02:44 浏览: 13
八进制转十六进制可以分为两步:
1. 将八进制数转化为二进制数
2. 将二进制数转化为十六进制数
以下是c语言代码实现:
```c
#include <stdio.h>
#include <math.h>
int main() {
int octalNum, decimalNum = 0, i = 0, remainder;
long long binaryNum = 0;
char hexNum[20];
printf("请输入一个八进制数: ");
scanf("%d", &octalNum);
//将八进制数转换为十进制数
while (octalNum != 0) {
remainder = octalNum % 10;
octalNum /= 10;
decimalNum += remainder * pow(8, i);
++i;
}
i = 1;
//将十进制数转换为二进制数
while (decimalNum != 0) {
remainder = decimalNum % 2;
decimalNum /= 2;
binaryNum += remainder * i;
i *= 10;
}
i = 0;
//将二进制数转换为十六进制数
while (binaryNum != 0) {
remainder = binaryNum % 10000;
switch (remainder) {
case 0:
hexNum[i] = '0';
break;
case 1:
hexNum[i] = '1';
break;
case 10:
hexNum[i] = '2';
break;
case 11:
hexNum[i] = '3';
break;
case 100:
hexNum[i] = '4';
break;
case 101:
hexNum[i] = '5';
break;
case 110:
hexNum[i] = '6';
break;
case 111:
hexNum[i] = '7';
break;
case 1000:
hexNum[i] = '8';
break;
case 1001:
hexNum[i] = '9';
break;
case 1010:
hexNum[i] = 'A';
break;
case 1011:
hexNum[i] = 'B';
break;
case 1100:
hexNum[i] = 'C';
break;
case 1101:
hexNum[i] = 'D';
break;
case 1110:
hexNum[i] = 'E';
break;
case 1111:
hexNum[i] = 'F';
break;
default:
printf("无效的二进制数.");
return 0;
}
i++;
binaryNum /= 10000;
}
printf("该八进制数转换后的十六进制数为: ");
for (int j = i - 1; j >= 0; j--)
printf("%c", hexNum[j]);
return 0;
}
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)