数据在存储器中以补码形式存在
//=======================================
无符号数据,变符号的情况:
unsigned char a = 151;
a = -a; ---------> a = 105;(%d打印)
在数字电路中,只会进行加法运算,-151超过了一字节,在计算时会扩展为四字节(一般是int类型),并以补码的形式存储:FF FF 1111 1111 0110 1001
再取8位:0110 1001 = 105
//=======================================
类型不同且变符号的情况:
unsigned char a = 151;
int c = -a; --------> c = -151;
unsigned char a = 255;
unsigned char b = 255;
unsigned char data1 = a+b;------>data1 = 254;
char data2 = a+b; ------> data2 = -2;
int data3 = a+b;------> data3 = 510;