【概念辨析】整型提升的深入理解(手画图解)

整型提升是编程中的一种机制,主要涉及char和short等类型在运算时自动提升到int或unsignedint。这一过程保证了计算的精度和效率,遵循正数补0,负数补1的规则。文章通过示例和图解详细阐述了整型提升的原理和应用场景,包括当数值超出类型范围时的截断和转换规则。
摘要由CSDN通过智能技术生成

        整型提升是一个小的知识点,但是请继续学习,保持空杯心态!


前言

        整型提升也是知识点繁多,但是有了下文清晰的框架,便能领悟一二。


一、整型提升是什么?

        整型提升:在表达式计算时,各种整型首先要提升为int类型,如果int类型不足以表示则要提升为unsigned int类型;然后执行表达式的运算。(来源:百度百科)

        人话版:将二进制位数不足4位的进行填充,达到统一位数从而方便计算的目的。

二、发生整型提升的情况

        cpu一方面为了进行较快的运算,另一方面为了使能够在进行计算时不浪费自己的运算位顺带提高精度,在其内部将位数不够的“填充”成相同的位数。

 百度百科关于运算器的相关描述:

运算器_百度百科 (baidu.com)icon-default.png?t=N176https://baike.baidu.com/item/%E8%BF%90%E7%AE%97%E5%99%A8/2667320 


1.字节数比int少的内置类型进行的整型提升

        分别有char与short进行运算时,cpu会将其进行整型提升

代码如下(示例):

        (+a)也是一种运算,所以进行了整型提升。 

           short同理。

2.整型提升的规则

        按照正数补0,负数补1的规则进行。

        看一段代码:

         由此可知,在cpu内部一定进行了其他运算使得127 + 3 = -126

        我们都知道,signed char的范围在-128 - 127之间,所以,当想要表示的值存储在一个char中会发生“截断”,先看一个正常的情况:

         如此,截断的反应也没有显现出来,整型提升的反应也没有显现出来

        我们再看一个特殊的例子:

 图解:

此时正确值130超过了char所表示的范围:

         发生截断整型提升原理如图


总结

        整型提升也就是隐式类型转换,与其对应的是显示类型转换。

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值