负数的补码怎么求
常识:
正数的补码,是其本身。
负数的补码,就用正数,减一取反,即可。
比如,+10 的补码,就是:0000 1010。
下面求-10 的补码:
先减一:可得 0000 1001;
再取反:就是 1111 0110。
这就求出来了。
即:[-10]补 = 1111 0110。
----
在计算机中,只有补码,并没有原码反码。
原码、反码、符号位,求反加一,都是垃圾。
在计算机中,根本就没有这些方法步骤。
另外,-128 根本没有原码反码,拿什么求反加一呢?
----
补码,写成十进制,也是正确的。
那么,按照八位补码的定义式,可以得出:
如 X ≥ 0 (正数): [ X ]补 = X = 0 ~ 127;
如 X < 0(负数): [ X ]补 = 模 - | X | = 128 ~ 255。
当 X 的补码大于 127,X 就是负数了。
正数的补码,是其本身。
负数的补码,就用它的正数,减一取反,即可得到补码。
如+9 补码是:0000 1001。
下面求-9 补码:
先减一:0000 1001 - 1 = 0000 1000;
再取反:1111 0111。
所以有:-9 补码 = 1111 0111。
这不就完了吗?
简不简单?意不意外?
原码反码符号位,讨论这些垃圾干嘛?
不都是骗人的吗?
广告 您可能关注的内容 |