相对于unsinged char, unsigne int 更经常出现在我们面前。signed加括号则是因为它在表示数据类型则经常被省略掉。
unsinged int相对于int可以增加数据表示的范围,如果变量要求是正整数。
unsinged char之不同于signed char也是在于它各自所表示的范围不同,分别为0 ~ 255, -127~127。
另外一方面是在于它们在对于扩展位数较多的类型时因为最高位符号位的关系而会作出不同的反应,即使是从char到unsigned int也最初数据的最高符号位相应地作符号位的扩展。
unsigned char | unsigned int | int |
0x80 |
128 (0x80) |
128 (0x80) |
0x70 |
127 (0x00000070) |
127 (0x00000070) |
char | unsigned int | int |
0x80 |
4294967168 (0xFFFFFF80) |
-128 (0xFFFFFF80) |
0x70 |
127 (0x00000070) |
127 (0x00000070) |