#includeintmain(){shortintx=-10;//原码-1000000000001010//反码-1111111111110101//补码-1111111111110110//FFF6(我以为的结果)//结果-fffffff6,好像占用4个字节printf("%x\n",x);}刚开始看C语言,不太明白求解,谢谢诸位
2 回答
守着一只汪
TA贡献1872条经验 获得超3个赞
语言标准只规定了类型至少几个字节,以及几种类型之间的大小关系。类型具体占多大由编译器决定。李毅的回答是对的。你没用正确的%x修饰符输出,导致其实是按unsignedint输出的。如果你改对了输出的修饰符之后,结果还是不符合预期,则可以用我上面的回答解释。
添加回答
举报
0/150
提交
取消