33,311
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
int main()
{
unsigned int a = -1;
printf("%u\n",a);//这样的输出就是错误的
printf("%d\n",a);
return 0;
}
//理解数组在计算机内部是按照二进制存储的
//unsigned int 和int都是32位的
//在C++中unsigned int 的范围是 0 ~ 4297949295
//int的范围是 -2147483648 2147483647
//-1的存储方式是 10000000 00000000 00000000 00000001
//而int的却别在于吧最高位作为符号位了
//unsigned int最高位作为数字位处理的
//这样在输出的时候就是吧二进制转换为 int 或者unsigned int
//只需要理解计算机是二进制的