首先,一个为非负整数,一个为整数。unsigned只能取到大于等于0的整数。
其次,两者取值范围不同。
C和C++语言中基本的数据类型有:字符型(char),整形(short, int, long), 浮点型(float, double)
同时字符型和整形还可以继续分为带符号的和不带符号的,默认情况下都是带符号的,如果想使用不带符号的,则使用时带上 unsigned说明即可,如果是带符号的,那么最高位将表示符号位,最高位为0表示为正数,最高位为1表示为负数,因此根据这个可以得到不同类型在分别带符号和不带符号的情况下表示的数据范围:
它们的范围不同,int有符号的是:-32768~32767
unsigned short无符号短整型0~65535 也有说unsigned short无符号短整型0~32767不过一般的都是上面的那个
int 有符号基本类型 最小取值范围:-32768~32767
unsigned short无符号短整型0~65535
我给大家整理出了一张数据表格: