//整型提升
int main()
{
//因为cpu内整型运算器的操作数的字节长度一般是int整型,所以char是一个字节,所以需要整型提升
//小于int类型的字节数的都需要进行整型提升
char a = 3; //00000000 00000000 00000000 00000011
//正数整型提升高补0,至4个字节
//负数整型提升高补1,至4个字节
char b = 127; //00000000 00000000 00000000 01111111
char c = a + b; //11111111 11111111 11111111 10000010 补码 (补码到源码 -1求反)
//10000000 00000000 00000000 01111101 取反
printf("%d\n", c); //10000000 00000000 00000000 01111110 源码 (补码到源码 求反+1)
// 输出 c为一个字节所以取后8位 值-126
return 0;
}
03-11
1万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
04-03
3316
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
03-12
5171
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
11-22
3564
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)