请问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了。程序中通常用来表示不能为否的数值,比如数组下标,如果出现负值就会内存越界。
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有