为什么int a=10;int b=~a;输出b的值确实-11呢?

来源:学生作业帮助网 编辑:六六作业网 时间:2024/05/16 15:26:30
为什么inta=10;intb=~a;输出b的值确实-11呢?为什么inta=10;intb=~a;输出b的值确实-11呢?为什么inta=10;intb=~a;输出b的值确实-11呢?因为int型为

为什么int a=10;int b=~a;输出b的值确实-11呢?
为什么int a=10;int b=~a;输出b的值确实-11呢?

为什么int a=10;int b=~a;输出b的值确实-11呢?
因为int型为有符号的两个字节,即a=10化成二进制为0000,0000,0000,1010;再取反,即为1111,1111,1111,0101这就是b!此时将b化成10进制为-32757.但在输出时系统自动化为-32768+32757=-11保存