不同变量在内存中的存在形式(以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
",a); //打印1个字节
 8     printf("%hx
",b);  //打印2个字节
 9     printf("%x
",c);  //打印4个字节
10     return 0;
11 }

打印结果:

注:

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

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

原文地址:https://www.cnblogs.com/onemusk/p/9481867.html