PRIx64:uint64_t类型输出为十六进制格式
#include <stdio.h>
#include <stdint.h>
#include <inttypes.h>
int main(void)
{
uint64_t num = 9223354444668731392;
printf("%lu\n", num); //十进制输出
printf("0x%"PRIx64"\n", num); //十六进制输出
printf("0x%016lx\n", num); //十六进制输出
}
运行结果:
9223354444668731392
0x7ffff00000000000
0x7ffff00000000000
遇到问题
error: expected ‘)’ before ‘PRIX64’
原因:打印的内容不是64位的数字
printf("0x%"PRIx64"\n", 10);
0x%"PRIX64" :显示为大写字母
0x%"PRIx64" :显示为小写字母