如下代码
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
char a = 3;
//00000000000000000000000000000011
//00000011--a
char b = 127;
//00000000000000000000000001111111
//01111111--b
char c = a + b;
//整型提升;正数高位补0,负数高位补1
//00000000000000000000000000000011
//00000000000000000000000001111111
//00000000000000000000000010000010
//10000010--c
//11111111111111111111111110000010补码
//11111111111111111111111110000001反码
//10000000000000000000000001111110原码-126
//发现a,b都是char类型,都没有达到一个int的标准
//这里就会发生整型提升
printf("%d\n", c);//-126
return 0;
}
输出结果为-126