原码反码补码

原码

    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

你可能感兴趣的:(原码反码补码)