位运算

来源:互联网 发布:淘宝api转换淘口令 编辑:程序博客网 时间:2024/06/06 15:02

为什么3 ~位取反运算 后值是-4

  • 机器存储的是补码方式存取,3的话,按照8位来算就是0000 0011,取反后是1111 1100

而第一位为1表示负数,负数补码表示法为原位取反,末位加1(符号位不变),1111 1100这是补码,按照负数表示法逆向表示为:

先减一,为1111 1011,再取反为1000 0100(首位1为负数的符号位),转换为十进制后为-4

0 0
原创粉丝点击