1:
int main(){ char a = -1; // -1 char类型只能存右边8个比特,同时有符号位变量提升时补符号位得 11111111 11111111 11111111 11111111 // 源:10000000 00000000 00000000 00000001 // 反:11111111 11111111 11111111 11111110 // 补:11111111 11111111 11111111 11111111 // 最终存储:11111111 signed char b = -1; // -1 char类型只能存右边8个比特,同时有符号位变量提升时补符号位得 11111111 11111111 11111111 11111111 // 11111111 unsigned char c = -1; // 255 char类型只能存右边8个比特,同时无符号位变量提升时补0得 00000000 00000000 00000000 11111111 // 11111111 printf("%d %d %d \n", a,b,c); return 0; }
2: