第一题
int main()
{
char a = -1;
signed char b = -1;
unsigned char c = -1;
printf("a=%d,b=%d,c=%d", a, b, c);
return 0;
}
以上代码的运行结果:
解析
对a:
- -1在内存中
- 10000000 00000000 00000000 00000001 源码
- 11111111 11111111 11111111 11111110 反码
- 11111111 11111111 11111111 11111111 补码
- a是char类型 只能存1个字节即8个比特位,存最低位的一个字节
- 11111111 -a存的
- 11111111 11111111 11111110 11111111 a整形提升后的(