C short类型的内存分析
发布时间:2020-12-16 07:18:15 所属栏目:百科 来源:网络整理
导读:#includestdio.h#includelimits.hvoid main(){//printf("short%d, int%d, long%d ",sizeof(short),sizeof(int),sizeof(long));//32位,64位系统int和long是等价的,都是4个字节//short只有2个字节,一般在内存资源不够的情况下使用,比如嵌入式开发short s
#include<stdio.h> #include<limits.h> void main(){ //printf("short%d, int%d, long%d ",sizeof(short),sizeof(int),sizeof(long)); //32位,64位系统int和long是等价的,都是4个字节 //short只有2个字节,一般在内存资源不够的情况下使用,比如嵌入式开发 short shMax = SHRT_MAX; short shMin = SHRT_MIN; printf("shMAX is %d,shMin is %d n",shMax,shMin); unsigned short ushMax = USHRT_MAX; // unsigned short ushMin = USHRT_MIN; 无符号的short最小值 是0 printf("ushMAX is %d,",ushMax); // short的内存分析 //short 2个字节 16个1 1111 1111 1111 1111 第一位的1代表符号位,0是正数,1是负数, 有效数据位是15位 //usigned short 2个字节 16个1 1111 1111 1111 1111 有效数据位是16位 // 结论:同样16个1,在不同的解析下,表示的意义完全不一样 short x = -1; printf("the address of x is %x",&x); //-1的原码是 1000 0000 0000 0001 //-1的反码是 1111 1111 1111 1110 //-1的补码是 1111 1111 1111 1111 // 16进制: f f f f 内存中表示的数 getchar(); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |