一、位数相同,但是表示数值的范围不一样:
char的最高位为符号位,因此char能表示-128~127;
unsigned char没有符号位,因此能表示0~255,这个好理解,8个bit,最多256种情况,因此无论如何都能表示256个数字。
二、给其它类型变量赋值,符号扩展:
unsigned char赋值给int、long等类型变量时,不会进行符号扩展,如将unsigned char赋给int,0x01-->>0x0000 0001。
char赋给int型会进行符号扩展,0x81-->>0xFFFFFF81。