c语言十进制转十六进制补0
时间: 2023-12-25 18:04:36 浏览: 144
C语言实现十进制转十六进制
5星 · 资源好评率100%
以下是C语言将十进制转换为十六进制并补0的代码示例:
```c
#include <stdio.h>
#include <string.h>
void dec2hex(int dec, char *hex) {
char hexStr[17] = "0123456789ABCDEF";
int c[20], i = 0, n = dec, base = 16;
do {
c[i++] = dec % base;
dec = dec / base;
} while (dec);
int len = strlen(hexStr);
for (int j = 0; j < 8 - i; j++) {
hex[j] = '0';
}
for (--i; i >= 0; i--) {
hex[8 - i - 1] = hexStr[c[i]];
}
hex[8] = '\0';
}
int main() int dec = 123;
char hex[9];
dec2hex(dec, hex);
printf("0x%s\n", hex); // 输出:0x0000007B
return 0;
}
```
该代码中,我们定义了一个`dec2hex`函数,该函数接受一个十进制整数和一个字符数组作为参数,将该整数转换为十六进制并补0后存储在字符数组中。在`main`函数中,我们定义了一个十进制整数`dec`和一个长度为9的字符数组`hex`,并将`dec`转换为十六进制并补0后存储在`hex`中,最后输出`hex`即可。
阅读全文