如果有charx=0Xff;inty=x;printf("%d",y);则输出结果是
提问:如果有charx=0Xff;inty=x;printf("%d",y);则输出结果是
网友回答:
结果是-1
char 类型占一个字节。8位 0000 0000
char x = 0xff 为 1111 1111
其中一号位为符号位,为1,则说明为负数(int类型)。
1111 1111按位取反 1000 0000.再加1——> 1000 0001所以char x = 0xff 转为int类型结果为-1。
这里考到了-1的补码。
还有问题,谢谢采纳,Thanks♪(・ω・)ノ