- char类型默认是有符号类型 -128,127
- 当128~255之间的数赋值给char时,它会变成负数,所以当它以更多位的二进制读取时,前位就会补1
- 可以通过char&0xff 可以将其转换成正数
char a = 0x16;
char b = 0xff;
cout << "a = " << (int)a << endl;
cout << "b = " << (int)b << endl;
cout << "a = " << (a & 0xff) << endl;
cout << "b = " << (b & 0xff) << endl;
//输出为
a = 22
b = -1
a = 22
b = 255