请问一下负数的补码怎么算啊?
将10进制负数转化为2进制数,负数的符号位是1。将上面的二进制数除符号位按位取反。然后加1运算,得到最终的负数的补码。举例说明图片是举的例子必须理解的定义,什么是原码,反码和补码将一个整数转换成二进制形式,就是其原码。对于正数,它的反码就是其原码(原码和反码相同);负数的反码是将原码中除符号位以外的所有位(数值位)取反,也就是 0 变成 1,1 变成 0。对于正数,它的补码就是其原码(原码、反码、补码都相同);负数的补码是其反码加 1。
负数的补码怎么求 负数的补码计算方法
在计算机系统中,数值,一律采用补码表示和存储。在计算机中,原码和反码,都是不存在的。求补码,也用不着它们。所以,原码和反码,根本就没有用!------------------------补码,其实,就是一个“代替负数做运算”的正数。且看 2 位 10 进制数的运算: 25 - 1 = 24 25 + 99 = (一百) 24你舍弃进位,只取两位,这两种算法,功能就完全相同。那么,+99,就代替了-1。加法,也就代替了减法。这不就是用正数(补数)代替了负数吗?由负数求对应的补数,计算公式是: 补数 = 负数 + 10^n。式中: n 是补数的位数。 10^n 是 n 位 10 进制数的计数周期。-------------------------计算机用二进制,补数,就改称为:补码。计算机所能计算的位数,是固定的,如八位机、16 位。。。八位二进制是:0000 0000~1111 1111 (十进制 255)。八位二进制的计数周期,是:2^8 = 256。求负数补码的计算公式,也是: 负数 + 周期。-1 补码就是:-1 + 256 = 255 = 1111 1111(二进制)。-2 补码就是:-2 + 256 = 254 = 1111 1110(二进制)。。。。-128 补码就是:128 = 1000 0000(二进制)。正数,必须直接参加运算,不许转换。所以,正数不存在补码。求补码,根本就不用“原码反码符号位取反加一”。-------------------------举例说明,用八位补码计算: 5 - 7 = -2。 5 = 0000 0101 -7 的补码= 1111 1001--相加------------- 得 (1) 1111 1110 = -2 的补码舍弃进位,只保留八位,这就用加法,实现了 5-7。