不同变量在内存中的存在形式(以16进制表示)

 1 #include<stdio.h>
 2 int main()
 3 {
 4     char a= -1;           //1111 1111 1个字节
 5     short b= -1;         //1111 1111- 1111 1111 2个字节
 6     int c= -1;          //1111 1111- 1111 1111- 1111 1111- 1111 1111 4个字节
 7     printf("%hhx\n",a); //打印1个字节
 8     printf("%hx\n",b);  //打印2个字节
 9     printf("%x\n",c);  //打印4个字节
10     return 0;
11 }

打印结果:

注:

此编译平台为linux系统环境下的centos6.7;若用Qt平台则无法正确编译

格式%x表示打印16进制,1111的16进制表示为一个f

posted @ 2018-08-15 15:48  OneMusk  阅读(415)  评论(0编辑  收藏  举报