【C语言练习题】数据在内存中的存储-创新互联

文章目录
  • 第一题:涉及知识点(整型在内存中的存储)
  • 第二题:涉及知识点(大小端存储)

为东港等地区用户提供了全套网页设计制作服务,及东港网站建设行业解决方案。主营业务为成都网站建设、做网站、东港网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!第一题:涉及知识点(整型在内存中的存储)

在这里插入图片描述
解析:
char类型的取值范围是-127~128;
unsigned char类型的取值范围是:0~255;
所以题目中:unsigned char aunsigned char b是放得下200与100的。

a的二进制为:11001000;
b的二进制为:01100100;

a的补码为:00000000000000000000000011001000;
b的补码为:00000000000000000000000001100100;
a+b补码为:0000000000000000000000100101100;

%d的形式打印a+b,就会打印出 上面计算出a+b的补码转换成原码的结果(正数的原码=反码=补码);
所以a+b以%d打印出来的应该是300

题目中c=a+b,由于c的类型是unsigned char,所以a+b的补码放到c会发生截断,
所以截断后的c的补码为00101100;
%d的形式打印:c进行整型提升:00000000000000000000000000101100
所以c以%d的形式打印出来的应该是:44

在编译器中验证结果:
在这里插入图片描述

第二题:涉及知识点(大小端存储)

在这里插入图片描述

大端(存储)模式,是指数据的低位字节保存在内存的高地址中,而数据的高位字节,保存在内存的低地址中;
小端(存储)模式,是指数据的低位字节保存在内存的低地址中,而数据的高位字节,,保存在内存的高地址中;

题目中unsigned int a= 0x1234;int是4个字节,补齐a应是0x 00 00 12 34
在这里插入图片描述
把a强制类型转换成unsigned char后,由于int–>char发生截断:
在这里插入图片描述
所以最后答案选A

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

分享名称:【C语言练习题】数据在内存中的存储-创新互联
URL网址:https://www.cdcxhl.com/article42/cojgec.html

成都网站建设公司_创新互联,为您提供虚拟主机微信公众号网站维护品牌网站建设企业网站制作网站设计公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

商城网站建设