整型提升和算术转换

本文详细介绍了C语言中的整型提升和算术转换,特别是隐式类型转换过程。通过实例分析了有符号和无符号整型提升的情况,包括截断、正数和负数的处理,并解释了为什么需要进行整型提升,以及算数转换的规则,帮助读者深入理解C语言中的数值运算机制。
摘要由CSDN通过智能技术生成

🎸
作者:爱弹吉他的小奔同学
🎸
专栏:《C语言》
🎸
仓库:gitee(所有的代码都在这个仓库里面)
🎸
如果感觉学累了,那么就看一个视频放松一下吧,猜猜点进去你会看到什么😜(视频)
🎸
我向往以后悠闲的生活,但现在的我们正处于需要努力的年华

在这里插入图片描述
点赞收藏关注啦啦啦啦啦

🎸表达式求值

表达式求值的顺序一部分是由操作符的优先级和结合性决定的
那么什么是优先级,什么是结合性呢?

优先级就是这样
2+6/2
/的优先级大于+的优先级,所以我们运算的顺序:
6/2=3
2+3=5

结合性就是这样
2+3+4
+和+优先级相同,求值的顺序就取决于结合性,+的结合性是从左向右计算,运算顺序:
2+3=5
5+4=9

🎸隐式类型转换

隐式就是偷偷地,也就是偷偷地进行类型转换,明面上是看不见的

整型提升就是隐式类型转换

什么是整型提升呢?

C的整型算术运算总是至少以缺省整型类型的精度来进行的(缺省就是默认的意思)
也就是我们在运算过程中,会把小于int类型大小的char,short这些类型提升为int类型大小

上例子

int main()
{
   
char a = 5;
char b = 126;
char c = a + c;

printf("%d", c );
}

变量a,b,c这些都达不到int类型大小,只有1个字节,那就整型提升,提升为4个字节

那么如何进行整型提升呢?

整形提升是按照变量的数据类型的符号位来提升的

🎸整型提升

先了解一下整型提升的例子(整型提升的前提是要参与运算)

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小奔同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值