請問C語言中無符號整型unsigned有什么用處?
unsigned int和int是可以強制類型轉換的。
int i=-1;
printf("%u\n", (unsigned int)i);
打印出來的值轉成二進制就能看到int和unsigned int的區別了。int的最高位用來表示正負號,值是31位,所以范圍是-2^31到+2^31。unsigned int才是真正的32位,范圍0到2^32。要表達大于2^31的值就要用unsigned int了。程序中通常用來表示不能為否的數值,比如數組下標,如果出現負值就會內存越界。