为什么~12运算以后我们看到的是-13呢?
这其中计算机是自己运算过的。
首先12在计算机中是以二进制存在的 即 0000 1100
按位运算(按位运算就是每一位都取反)以后就变成 1111 0011 (此时变为补码 至于为什么 自行百度)
计算机给你显示的时候只显示原码 所以计算机会把上边运算完的再进行一次补码运算(补码的补码就是原码)
此时求补码 符号位不变 10001101 (负数的补码符号位不变,其余位求反最后一位加一) 即 -13
依次尽力以下过程:
0000 1100 原码
1111 0011 按位运算
10001101 为了显示求补码