原码、反码、补码和移码的公式理解
说明: 在公式中n表示机器字长,不过原码、补码、反码、移码、是带符号的机器字长。所谓带符号就是带正负号的二进制,这个符号是在二进制的最高位(这是举一个具体的例子),比如二进制八位的+1:0 0000001,从左往右第一位就是符号位,0代表正、1代表负(在移码中是相反的)。好了,该讲的都讲了,我们进入正题 (我这里是十进制转二进制)
一、原码理解原码的公式,例:
二、反码
不废话了,直接上题目:
三、补码
题目:
四、移码
题目:
从公式中大家都可以发现原码、反码、移码的正数用二进制表示都一样,不同的是负数的表示,总结下来说,原码正负都一样(比如+45跟-45),反码是其正数的相反,例如反码的+45=0 0101101 跟反码的-45=1 1010010表示是相反的,还有补码则是 反码的负数加1如:反码的-45=1 1010010 补码的-45=1 1010011,移码就按公式算吧,小编没发现什么特殊的,不过移码的正负号跟原码、反码、补码的是相反的。