一:先介绍一下相关概念
1.整型提升:
(资料图片仅供参考)
(1)应用场景数字有整数和小数,对应c语言中的整型和浮点型,由此可见当整数发生运算时,那其实就意味着整形运算,我们还知道如果小于整形的类型发生整型运算时,那就要进行整型提升
(2)应用场景整数的打印形式有多种,常见的%d和%u分别是以有符号的十进制形式和无符号的十进制形式来打印整数
(3)整型提升的规则无符号数在进行整型提升时高位补0,有符号数分为正数和负数,正数高位补0,负数高位补1,换句话说就是,有符号数高位补符号位即可
明白什么时候整型提升后,我们再来讲解发生截断
2.发生截断:
其实就是一个整形数据存储到小于整型的类型时,由于存放字节数有限,只能存放这个整型数据的一部分,这其实就是发生了截断
像上面的这种赋值方式就是要发生截断了
二:话不多说,直接上手操作一下就会了
200是一个整型数字,(32位下,方便表示)二进制表示形式为00000000000000000000000011001000截断后存到a中的是11001000、
100也是一个整型数字,(32位下,方便表示)二进制表示形式为00000000000000000000000001100100截断后存到a中的是01100100
a+b就是两个整数运算,那就是整形运算,要发生整型提升后,再进行相加,相加后的结果为00000000000000000000000100101100
存储到c时,由于c是char型,又要发生截断,截断后存储到c中的结果为00101100
最后打印a+b和c,由于%d是以有符号的十进制的形式打印整数,因为a+b本身就是32比特位了,所以不需要整型提升。但是c是8比特位,所以要进行整型提升,c的高位是0,那他就是有符号数里面的正数,按照相应的提升规则,高位全补符号位0
最后,提升完后,要进行打印,由于我们看到的是原码内容,储存在机器里的是补码内容,所以我们还要进行转码操作,又因为a+b和c都是正数,所以原码反码补码均相同,直接用计算器转换到十进制数字即可得出答案
三:最后的最后
小编只是个刚上大一的学生,写篇博客真的很不容易,呜呜呜
大家多多支持哈,小编在此感激不尽,嘻嘻嘻
X 关闭
-

【C语言】关于整型提升、截断、打印数据的结果_全球关注
(1)应用场景 数字有整数和小数,对应c语言中的整型和浮点型,由此可见当整数发生运算时,那其实就意味着
-

荣耀MagicBook 14系列正式发布 脱口秀演员庞博带来智慧高能分享-全球报资讯
作为荣耀笔记本数字系列高能升级之作,荣耀MagicBook14系列2023延续悦享科技理念,荣耀笔记本“三叉戟”—
-

智童时刻 厦门科技有限公司_对于智童时刻 厦门科技有限公司简单介绍-天天新动态
1、智童时刻(厦门)科技有限公司于2015年1月21日在厦门成立,是一家从事儿童智能机器人研发生产,同时打造
-

韩国:3月汽车产量同比增长35.6% 自2017年3月以来首次超过40万辆
【韩国:3月汽车产量同比增长35 6%自2017年3月以来首次超过40万辆】4月17日,据韩国国际广播电台报道,据韩
- 1区块链板块12月20日跌1.34%,*ST文化领跌,主力资金净流出20.26亿元_动态
- 2大龙地产: 2022年第二次临时股东大会的法律意见书
- 3骑士7人上双大胜爵士 米切尔23分马尔卡宁24+6
- 4世界快讯:泉峰汽车: 南京泉峰汽车精密技术股份有限公司2021年公开发行可转换公司债券第二次临时受托管理事务报告(2022年度)
- 5天天即时:太倦了,骁龙8Gen2新机2999元!
- 6全球观天下!2023年湿巾行业市场运行格局分析及投资战略可行性前景预测报告
- 7小事记 | 荣万家收购物业公司 新加坡城市发展2.15亿英镑再收购学生公寓 当前聚焦
- 8威少7中1仅得3分遭詹皇"架空" 末节成轮换工具人
- 9水电工程施工合同(施工合同)范本|信息
- 10frm的报考要求严格吗?大专生可以考吗

