加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入
  • 正文
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

什么是补码

2021/08/04
1.1万
阅读需 2 分钟
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

硬件型号:戴尔ins153501

系统版本:Windows10

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

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

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

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

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

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

(图片来源于互联网

相关推荐

电子产业图谱