int a=-12;
printf("%u\n",a);
为什么输出4294967284?
因为-12在内存的存储形式为1111 1111 1111 1111 1111 1111 1111 0100
,将其直接转为十进制便是4294967284。说明%u
在从内存取出数字后,并没有判断该数正负,而是直接将其转为十进制数。
Over!
int a=-12;
printf("%u\n",a);
为什么输出4294967284?
因为-12在内存的存储形式为1111 1111 1111 1111 1111 1111 1111 0100
,将其直接转为十进制便是4294967284。说明%u
在从内存取出数字后,并没有判断该数正负,而是直接将其转为十进制数。
Over!