请提供一个C语言程序,可以将有符号的十进制转换为十六进制
时间: 2024-04-08 16:33:52 浏览: 54
当然,下面是一个将有符号的十进制转换为十六进制的C语言程序示例:
```c
#include <stdio.h>
void decToHex(int decimal) {
char hex[20];
int i = 0;
int remainder;
if (decimal < 0) {
decimal = -decimal;
printf("-");
}
while (decimal != 0) {
remainder = decimal % 16;
if (remainder < 10)
hex[i++] = remainder + 48;
else
hex[i++] = remainder + 55;
decimal = decimal / 16;
}
for (int j = i - 1; j >= 0; j--)
printf("%c", hex[j]);
}
int main() {
int decimal;
printf("Enter a decimal number: ");
scanf("%d", &decimal);
printf("Hexadecimal representation: ");
decToHex(decimal);
return 0;
}
```
这个程序会提示用户输入一个有符号的十进制数,然后将其转换为十六进制并输出。请注意,这个程序只适用于有符号的整数。如果输入的数为负数,程序会在结果前面加上负号。
希望这个程序能够帮到你!如果有任何问题,请随时提问。
阅读全文