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

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 19:00:51

为什么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保存