这个问题,我之前学的时候就有点懵,因为一直接受一个概念:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外。
可是java中~6=-7怎么解释呢
最后搜到的结果是:
java中~表示的不是反码,而是按位取反。6是int型,4字节,就是32位。
二进制形态解释
0000 0000 0000 0000 0000 0000 0000 0110 6
1111 1111 1111 1111 1111 1111 1111 1001 -7