写一个十进制转十六进制的C语言代码
时间: 2023-08-29 08:07:34 浏览: 85
以下是将十进制数转换为十六进制的C语言代码:
```c
#include <stdio.h>
int main()
{
int decimal, quotient, remainder;
int i = 1, j, temp;
char hexadecimal[100];
printf("Enter a decimal number: ");
scanf("%d", &decimal);
quotient = decimal;
while (quotient != 0)
{
temp = quotient % 16;
if (temp < 10)
temp = temp + 48;
else
temp = temp + 55;
hexadecimal[i++] = temp;
quotient = quotient / 16;
}
printf("Hexadecimal equivalent is: ");
for (j = i - 1; j > 0; j--)
printf("%c", hexadecimal[j]);
return 0;
}
```
这个程序的基本思路是:
1. 首先,从用户接收一个十进制数。
2. 然后,将该数字除以16,得到商和余数。
3. 如果余数小于10,则将其转换为字符并将其添加到一个数组中。
4. 如果余数大于等于10,则将其转换为相应的字母(A、B、C、D、E或F)并将其添加到数组中。
5. 重复第2步,直到商为0。
6. 最后,从数组的末尾开始,将所有字符打印出来,以获得十六进制等效项。
阅读全文