正数: 原码=反码=补码=该正数。
负数:
补码=原码取反+1。
原码=补码取反+1。
互相转换的方法,是相同的。
注意:符号位不要动,总是 1。
另外,码长八位时,-128,只有补码,没有原码。
因此,-128 的补码,并不能用“去反加一”求出来。
求-128 的补码,必须使用“补码的定义式”。
1、1111 1010----你的计算正确。
2、补码再求补码就是原码,1000 0000的反码为1111 1111,补码为1000 0000,此即为原码即-128。
补码的补码就是原码!
带符号数中只有负数的原码反码和补码是不一样的,正数的这些都是一样的,涉及码制转换!
原码求补码是取反加1
补码求原码还是是取反加1(符号位除外)
2. 补码形式为 1000 0000,表示的是负数-128,怎么算出来的?
----------------------
答:
在八位时,-128,没有原码和反码,“取反加一”不可用。
由补码,求其代表的数字,方法极其简单。
既不用求“原码反码”,也不用考虑“符号位不变”。
你只要做【数 制 转 换】,即可。
例如:
八位补码是 1011 0100。
首位的 1,既代表负号,也代表数值-128。
其余各位,都是正数,求和: 32 + 16 + 4 = 52。
最后,总和,就是真值:-76。
-------------
如果,补码是 0011 0100。
真值就是: 32 + 16 + 4 = +52。
-------------
因此,补码若是 1000 0000。
真值就是:-128。