1、有无符号定义的差别:
signed char : [-2^7, 2^7) 即 [-128, 128)
unsigned char:[0, 2^8) 即 [0, 256)
signed n位整数:[-2^(n-1), 2^(n-1))
unsigned n位整数:[0, 2^n)
signed表示有符号,unsigned表示无符号。
有符号数的最大取值要比无符号的小约一半,因为有符号数的最高一位被用来表示符号。
默认的int、short、long、long long为有符号数;换言之,int等价于signed int,short等价于signed short,long等价于signed long,long long等价于signed long long。
但是char本身是signed char还是unsigned char,取决于语言的实现(编译器)。