加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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();
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读