
通过负数的原码-反码-补码间的相互转换可以得到,需要注意此处的数据位数是8位。
正数的原码、反码、补码均一致,负数的原码与反码除符号位相同其他位相反,补码则在反码的基础上加1。
将-7装换为带符号位的8位二进制码(原码),并转换成反码和补码的过程如下:
原码:1000 0111
反码:1111 1000
补码:1111 1001
将补码减1得到反码,将反码除符号位的位值取反得到原码,再将原码转换成十进制既可以得到十进制的-7。此外也可以直接使用8位二进制带符号数的模加上带转换值再去提取低8位得到补码。
四位二进制补码与十进制关系如下:
扩展资料
计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
参考资料:补码_百度百科

2025-02-17 广告
其绝对值7的原码为0000 0111;
-7的补码=其绝对值的反码+1=1111 1000+1=1111 1001.
你好我的意思是,怎么会得到-7
反过来推不就行了
按7的二进制是
00000111
取反为
11111000
再加1 为
11111001
在计算机系统中,数值,一律用补码来表示和存放。
原码和反码,在计算机中,都是不存在的。
求补码,计算公式如下:
当 X >= 0,[X]补 = X;
当 X < 0, [X]补 = 模 - | X |。
[-7]补 = 2^8 +| -7 | = 256-7 = 249 = 1111 1001(二进制) 。
用正负数值,直接就可以求出补码。不需要用原码反码过渡。