关于整型提升与截断的一道题目

发布时间:2024年01月16日

关于整型提升与截断,可以看我的博客

C语言:整型提升_c语言整形提升-CSDN博客

C语言:截断+整型提升+算数转换练习_c语言unsigned-CSDN博客

一、题目

二、题解

?char a=101截断

由于101是整型数据,需要32比特位存储空间,而变量a是char类型数据,只能存放8比特位存储空间。因此,需要对整型数据101进行截断:

0000 0000 0000 0000 0000 0000 0110 0101(101原码)

0000 0000 0000 0000 0000 0000 0110 0101(101补码)

0110 0101(char型变量a中截断存放的补码)

a+=27 对变量a进行整型提升(补码的高位补符号位)

0000 0000 0000 0000 0000 0000 0110 0101(char型变量a整型提升后的补码)

0000 0000 0000 0000 0000 0000 0001?1011(27的补码)

1000 0000(a+27经过截断后存放到char型变量a中的补码)

1111 1111 1111 1111 1111 1111?1000 0000(a+27整型提升后的补码)

0000 0000 0000 0000 0000 0000 1100 1000(200的补码)

0000 0000 0000 0000 0000 0000?0100 1000(200+a的补码)

0000 0000 0000 0000 0000 0000?0100 1000(200+a的原码)

转换为十进制为72

此题答案为 D

文章来源:https://blog.csdn.net/2301_76197086/article/details/135606178
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。