已知:unsigned int x=65535,则执行以下语句输出的是

来源:百度知道 编辑:UC知道 时间:2024/06/30 22:53:46
printf("%d\n",x);
为什么是-1? 麻烦在解释下,unsigned int x=65535什么意思?

unsigned int的取值范围是0-65535
但是输出的时候,确实按照signed int输出的...

signed int的取值范围是-32768到32767,65535无法显示....

在Unsigned int中,65535的补码是1111 1111 1111 1111
对于Signed int来说,上面的补码是-1,所以显示的就是-1啦...