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" :显示为小写字母

posted @ 2017-11-28 14:53  liqinglucky  阅读(9196)  评论(0编辑  收藏  举报