解析:
char类型的取值范围是-127~128;
unsigned char类型的取值范围是:0~255;
所以题目中:unsigned char a
与unsigned 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。内容未经允许不得转载,或转载时需注明来源: 创新互联