无符号版本和有符号版本的区别就是有符号类型需要使用一个bit来表示数字的正负。
如果需声明无符号类型的话就需要在类型前加上unsigned。
整型的每一种都分为:无符号(unsigned)和有符号(signed)两种类型(float和double总是带符号的)。
char在默认情况下总是无符号的。在除char以外的数据类型中,默认情况下声明的整型变量都是有符号的类型;
无符号类型能保存2倍于有符号类型的正整数数据.
c
2^7 =128 ---------------char[-2^7,2^7-1]
2^8 = 256 ----------------unsigned char[0,2^8-1]
2^15= 32768 ----------------short[-2^15,2^15-1]
2^16= 65536 ----------------unsigned short[0,2^16-1]
2^31 = 21 47 48 36 48 > 10^8-----------int[-2^31,2^31-1]
2^32 = 42 94 96 72 96 > 10^8-----------unsigned int[0,2^32-1]