1. unsigned short (无符号短整型)
unsigned short [ int ] 的字节数位2,取值范围是 0 ~ 2^16-1,即 0 ~ 65535
在存储单元中的存储方式是用整数的补码(complement) 形式存放。所以要将无符号数从原码->反码(除符号位取反)->补码(反码加1)
65535的原码:1111 1111 1111 1111
65535的反码:1000 0000 0000 0000
65535的补码:1000 0000 0000 0001
则unsigned int类型的 65535 转化为int型为 -1(首位为符号位)
2. unsigned long (无符号长整型)
unsigned long [ int ] 的字节数为4,取值范围是 0 ~ 2^32-1,即 0 ~ 4294967295
3. unsigned
整型的每一种都有无符号(unsigned)和有符号(signed)两种类型(float和double总是带符号的),在默认情况下声明的整型变量都是有符号的类型(char有点特别),如果需声明无符号类型的话就需要在类型前加上unsigned。无符号版本和有符号版本的区别就是无符号类型能保存2倍于有符号类型的数据