char的我是知道的,但为什么换成int数字就变了。。我知道int的时候我这样做,只表示了1个字节的内容,还剩3个字节没弄,但为什么就是这个结果
char类型的变量保存的是有符号的整形数据
char a = 0x83; /*0b10000011*/ 这个数据的最高位为1,作为一个有符号数,最高位是符号位,
char 在转成int的时候, 如果char类型变量的最高位为1,则补全的字节填充0xFF,反之填充0x00,
所以你的a 由一个字节的0x83转换成 int的时候,变成了 0xFFFFFF83