unsigned int a = 4294967295;
printf("%d\n", a); //=> -1
a 是无符号int最大值表示为11111111 11111111 11111111 11111111
转换成有符号输出 首位1看作是负数 负数输出需要反补码 再取反码
变为 10000000 00000000 00000000 00000001
就是 -1 了
同样 signed转换 unsigned也是如此
int a = -1;
printf("%u \n", a); //4294967295
\u即转换成 无符号输出 就不看首位是1或者0了决定正数还是负数 都按照正数计算
-1在内存中表示为 11111111111111111111111111111111
无符号直接计算 结果就是4294967295