char chr=127;
int sum=100;
chr+=1;
sum+=chr;
chr是char类型,共八位。赋值127。8位为0111 1111。
此时若用%d格式打印出来时,规则是,看最左侧为0.为正,
绝对值为2^7-1,即127。chr++后,
二进制为1000 0000。用%d打印出来为,最左侧为1,为负值。
绝对值,要考虑8位。及2^7.即为-128。
char类型的变量,8位,若有符号,范围为-128~~127。若
无符号,为0~~255。所以,sum的值为100+(-128)=-128
-1如何表示呢?
是1的反码+1.即0xFFFF FFFF