C语言隐式类型转换(整型提升)
隐式类型转换(整型提升)概念
C语言是一种强类型语言,当使用一种类型的对象代替另外一种类型的对象进行操作时,必须首先进行类型转换。 隐式类型转换由编译器自动进行,不需要程序员干预。
有关隐式类型转换的概念是来自这里
说得通俗一点就是
定义的类型和输出的类型不一致,比如定义一个char型变量却用%d类型来输出
整型提升概念
这是来自比特上课截的图
整型提升的规则
整型提升是按照变量的数据类型的符号来提升的
正数的整型提升
char ch1 = 1;
变量ch1的二进制位(补码)中只有8个比特位
本来是00000000000000000000000000000001
然后截断后就变成了00000001(后8bit)
因为char为有符号的char(后面的文章会讲到)
所以整型提升时,就高位补充符号位,即为0
所以变成
0000000000
共有 0 条评论