考点一:char 类型变量里面存的是字符的ASCII编码,是10进制数值。占1个字节,无符号整形的。所以表示的范围是0-255.而char换成int形的时候要考虑数的正负数问题。
考点二:负数的补码:【负数的补码是对其原码逐位取反,但符号位除外;然后整个数加1。】
那么我们反着回去:
197对应的二进制是:11000101,不看符号位。减1=11000100,然后除符号位全部取反=10111011,第一位1表示负数,后面的0111011写成10进制等于32+16+8+2+1=59,所以中和起来就是-59.同理char2=198对应的%d就是-58
楼主好运!