源码,补码,反码
int a = 13;
int z = ~a;
z为什么是-14;这个是怎么算的? ~a是取补码还是反码?
13的二进制数:
源码: 0000 1101
按照道理来说,正数的源码,补码,反码都是一样的,~a为什么会得到-14?
书上是这样写的:
a 0000 1101
~a 1111 0010 --〉 1111 0010如何算出是14??
我只知道二进制转换10进制就是不断的乘以2的N次方。
1111 0010 是13的反码吗? 为什么会变?不是说正数的源码,补码,反码是一样的吗?
望各位大牛解释下,谢谢~
取反