用c语言将十进制的数转换为十六进制
时间: 2024-05-10 13:20:21 浏览: 67
C实现十进制至十六进制的转换
4星 · 用户满意度95%
以下是将十进制数转换为十六进制的C语言代码:
```
#include <stdio.h>
int main() {
int decimal, quotient, remainder;
char hexadecimal[100];
int i, j = 0;
printf("Enter a decimal number: ");
scanf("%d", &decimal);
quotient = decimal;
while (quotient != 0) {
remainder = quotient % 16;
if (remainder < 10) {
hexadecimal[j++] = remainder + 48;
} else {
hexadecimal[j++] = remainder + 55;
}
quotient = quotient / 16;
}
printf("Hexadecimal number: ");
for (i = j - 1; i >= 0; i--) {
printf("%c", hexadecimal[i]);
}
return 0;
}
```
在这个程序中,我们首先要求用户输入一个十进制数,然后我们将其转换为十六进制数。我们使用两个变量来帮助我们完成这个任务:quotient和remainder。 quotient存储被除数,remainder存储余数。
我们使用while循环来将十进制数转换为十六进制数。 在循环中,我们首先计算十六进制数的最低位,然后将其存储在一个字符数组中。 如果余数小于10,则我们将其转换为字符形式并将其添加到字符数组中。 如果余数大于9,则我们将其转换为字符形式,然后将其添加到字符数组中。
最后,我们使用for循环将字符数组中的十六进制数打印出来。 我们从数组的最后一位开始打印,以便打印出正确的十六进制数。
阅读全文