C中的十进制到十六进制转换

-2 c hex decimal

我需要将十进制数转换为前缀为0x的 4位小写十六进制数.
"%X"足够好了,但这并不是我想要的.

printf("hex num is: %X\n", num);
Run Code Online (Sandbox Code Playgroud)

chy*_*hys 6

我想你需要0x%04x或者%#06x.

%x表示小写十六进制.0表示如果短于指定的位数,则用零填充.46指定所需的宽度.#表示0x前缀.