C语言引入signed和unsigned关键字来修饰char、short、int、long等整型家族的类型。
使用signed关键字,表示一个类型带有正负号,包含负值;
使用unsigned关键字,表示该类型不带有正负号,只能表示为0和正整数。
int类型
对于int类型,默认带有正负号,即signed int,关键字signed一般不写。也有unsigned int类型。
整数变量声明为 unsigned 的好处是,同样长度的内存能够表示的最⼤整数值,增大了⼀倍。比如,16位的 signed short int 的取值范围是:-32768~32767,最⼤是32767;而unsigned short int 的取值范围是:0~65535,最大值增大到了65535。 unsigned int里面的int也可以省略,写成unsigned。
其他数据类型的规则与int相似。
特殊的char类型
C语言规定char类型默认是否带有正负号,由当前系统决定。即char不等于signed char。