读书人

int i=~12?解决方法

发布时间: 2013-01-17 10:28:54 作者: rapoo

int i=~12?
int i=~12;

个人认为应该是一个负的相当大的数,但程序运行结果为-13,求指教!
[解决办法]
12的二进制是
0000 0000 0000 0000 0000 0000 0000 1100(原码补码相同)
~12的二进制是
1111 1111 1111 1111 1111 1111 1111 0011(原码)
转换为补码之后就是
1000 0000 0000 0000 0000 0000 0000 1101
即-13
[解决办法]
只要知道计算机是用补码的方式存储的。

读书人网 >C++

热点推荐