c语言十进制转16进制
时间: 2023-08-08 20:14:11 浏览: 55
以下是一个将十进制数转换成十六进制数的C语言代码示例:
```c
#include <stdio.h>
void decimal_to_hex(int decimal_num) {
long quotient, remainder;
int i, j = 0;
char hex_num[100];
quotient = decimal_num;
while (quotient != 0) {
remainder = quotient % 16;
if (remainder < 10)
hex_num[j++] = 48 + remainder;
else
hex_num[j++] = 55 + remainder;
quotient = quotient / 16;
}
for (i = j - 1; i >= 0; i--)
printf("%c", hex_num[i]);
}
int main() {
int decimal_num = 1234;
printf("Decimal number: %d\n", decimal_num);
printf("Hexadecimal number: ");
decimal_to_hex(decimal_num);
return 0;
}
```
在这个示例中,我们使用了循环和取模运算将十进制数转换为十六进制数。在循环中,我们首先计算出十进制数除以16的商和余数,如果余数小于10,则直接将其转换为字符型数字并存储在数组`hex_num`中;如果余数大于等于10,则将其转换为字符型字母并存储在数组`hex_num`中。然后,我们将商赋值给`quotient`,并继续循环,直到`quotient`为0。最后,我们遍历数组`hex_num`,从最高位开始输出,以得到正确的十六进制数。
你可以将需要转换的十进制数作为参数传递给`decimal_to_hex()`函数,它将直接在控制台中输出相应的十六进制数。