首页 > 数字化 > 正文

什么是补码?补码原码反码怎么转换?一分钟了解补码

2022-10-24 13:54:56来源:迪族网  

什么是补码?

补码是用来解决负数在计算机中的表示问题的。正数的补码就是其本身;负数的补码是在其原码的基础上,符号位不变,其余各位取反,最后+1,即在反码的基础上+1。

在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。

例:1-1 = 1+(-1) = 00000001(原码) + 100000001(原码) =00000001(反码) +11111110(反码) = 11111111(反码)=10000000(原码) = -0

用反码运算时,结果为-0,虽然+0和-0都是0,但是看起来总是觉得怪怪的,何况0带符号没有任何意义,并且出现了两个能表示0的二进制数00000000和10000000。

这让严谨的程序员们如何能接受,为了消除歧义,于是出现了反码。

计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同 。

补码原码反码怎么转换?

1、首先原始代码的最高位是符号位,0表示正,1表示负,中间值表示数字的绝对值。

2、符号的反转,正数符号的反转与原符号相同,负数的补数是该符号的最低有效位数加上1。

3、补数,正数的补数与原代码相同,负数的补数在其倒数第一的基础上加1。零分为+0和-0。 进行不同符号的加法或同一符号的减法时,不能直接进行加法或减法,不能直接给出正负的结果。

4、必须先取绝对值,然后再加上减法。 符号比特由较大的绝对值决定,因此出现了转码。 反码是对原始代码的改进。补码在针对加减运算和正负零的问题上都解决了,平时用的最多的也就是补码。

责任编辑:hnmd003

相关阅读

相关阅读

推荐阅读