uint是无符号整型、无符号整数、自然数、位无符号整数的意思,UINT类型在WINDOWSAPI中有定义,它对应于32位无符号整数。
无符号整型:取值是2^31-1,即:0-4294967295。
就拿十进制的32767来说,其二进制为:
0111111111111111。
对于无符号的整型32767来说,它的二进制的最高位称为数据位,即那个0就是数据位,数据位是要参与运算的,如果把0改成1,即16个1,它的十进制就是65535。就是2的15次方+2的14次方等等。一直加到2的0次方,这是不同于有符号整型的。
有无符号的根本原因可以说就是因为数据出现了溢出现象导致的。
无符号值可以避免误存负数,且扩大了表示范围。
如:人150岁之内unsignedtinyint1无符号值:0到255。
龟数百岁unsignedsmallint2无符号值:0到65535。
恐龙化石数千万年unsignedint4无符号值:0到约42、9亿。
太阳约50亿年unsignedbigint8无符号值:0到约10的19次方。