原码
5 => 0b101, 1 => 0b1, -1=> -0b1, bin(-1)
反码
正数的反码与原码相同;负数的反码符号位不变其余取反
补码
正数的补码与原码相同;负数的补码符号位不变其余按位取反后+1
负数表示法
数字电路的CPU中的运算器实现了加法器,但是没有减法器,减法是转换成加法
负数在计算机中使用补码存储,-1的补码为1111 1111
5 - 1 => 5 +(-1)直觉上是0b101-0b1,其实计算机中是0b101+0b11111111,溢出位舍弃
问题一:~12为什么是 -13?
12的原码:0000 1100
按位取反:1111 0011
取反之后的补码:1000 1101 = -13