进制溢出

来源:互联网 发布:知否什么时候上映 湖南 编辑:程序博客网 时间:2024/06/06 19:18

35。unsigned short A = 10; printf(“~A = %u\n”, ~A); char c=128; printf(“c=%d\n”,c); 输出多少?并分析过程

答案:第一题,~A =0xfffffff5,int值 为-11,但输出的是uint。所以输出4294967285 第二题,c=0×10,输出的是int,最高位为1,是负数,所以它的值就是0×00的补码就是128,所以输出-128。这两道题都是在考察二进制向int或uint转换时的最高位处理。

0 0