若x为unsigned int型变量,则执行以下语句后的x的值为___。 x=65535; printf(“%d\n”,x); 为什么是-1
若x为unsigned int型变量,则执行以下语句后的x的值为___。 x=65535; printf(“%d\n”,x); 为什么是-1
日期:2018-04-04 13:25:33 人气:1
首先要明确一点就是,%d显示的是int型,也就是说不管你x是什么,它会把x当做int型来显示
先看一下unsigned int的65535和int的 -1是怎么表示的:
unsigned int x = 65535;// 四字节,用2进制进制表示就是 1111 1111 1111 1111
int x = -1;//四字节,最高位表示符号,最高位为1表示负数,且负数用补码表示,即1是0000 0000 0000 0001,它的补码是1111 1111 1111