补码
订阅
计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同
[1]
。在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理
[2]
。
展开全文

计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同
[1]
。在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理
[2]
。
信息
- 外文名
- two's complement representation
- 作 用
- 存储数值
- 所属领域
- 计算机
- 中文名
- 补码
补码概念引入
在介绍补码概念之前,先介绍一下“模”的概念:“模”是指一个计量系统的计数范围,如过去计量粮食用的斗、时钟等。计算机也可以看成一个计量机器,因为计算机的字长是定长的,即存储和处理的位数是有限的,因此它也有一个计量范围,即都存在一个“模”。如:时钟的计量范围是0~11,模=12。表示n位的计算机计量范围是
,模=
.“模”实质上是计量器产生“溢出”的量,它的值在计量器上表示不出来,计量器上只能表示出模的余数。任何有模的计量器,均可化减法为加法运算
[3]
。假设当前时针指向8点,而准确时间是6点,调整时间可有以下两种拨法:一种是倒拨2小时,即8-2=6;另一种是顺拨10小时,8+10=12+6=6,即8-2=8+10=8+12-2(mod 12).在12为模的系统里,加10和减2效果是一样的,因此凡是减2运算,都可以用加10来代替。若用一般公式可表示为:a-b=a-b+mod=a+mod-b。对“模”而言,2和10互为补数。实际上,以12为模的系统中,11和1,8和4,9和3,7和5,6和6都有这个特性,共同的特点是两者相加等于模。对于计算机,其概念和方法完全一样。n位计算机,设n=8,所能表示的最大数是11111111,若再加1成100000000(9位),但因只有8位,最高位1自然丢失。又回到了 00000000,所以8位二进制系统的模为
。在这样的系统中减法问题也可以化成加法问题,只需把减数用相应的补数表示就可以了。把补数用到计算机对数的处理上,就是补码
[3]
。
-
补码
2020-01-28 15:53:01补码 计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位的表示,0表示“正”,1表示“负”,而数值位,就是0和1的组合。 在计算机系统中,数值一律用补码来表示...补码
计算机中的有符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位的表示,0表示“正”,1表示“负”,而数值位,就是0和1的组合。
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理 。
补码的优点:
(1)解决了符号的表示问题;
(2)可以将减法运算转化为补码的加法运算来实现,克服了原码加减法运算繁杂的弊端,可有效简化运算器的设计;
(3)在计算机中,利用电子器件的特点实现补码和真值、原码之间的相互转换,非常容易;
(4)补码表示统一了符号位和数值位,使得符号位可以和数值位一起直接参与运算。
收藏数
18,539
精华内容
7,415
-
Km1(2.0)Setup.rar
-
数据类型转换、运算符、方法入门
-
Typora自动在大纲和编辑页面里显示编号
-
【数据分析-随到随学】Hive详解
-
Unity游戏开发之数字华容道
-
lrzsz-0.12.20.tar.gz
-
阿里云云计算ACP考试必备教程
-
移动商城前后台小程序源码
-
点成方案 | DEN-1/DEN-1B型细菌比浊仪的校准流程
-
【数据分析-随到随学】数据可视化
-
day05Java内存分配图解(重要)
-
win远程多用户rdpwrap配置文件(6.2.9200.22715)
-
云计算基础-Linux系统管理员
-
android笔试面试和实战课程
-
OBS框架流程和源码分析六一架构模块分解
-
Axure 大数据系统演示原型图,投标并中标!
-
干货!Android开发经验的有效总结,系列篇
-
【数据分析-随到随学】Python数据获取
-
【控制】《复杂运动体系统的分布式协同控制与优化》-方浩老师-第9章-固定翼飞行器的编队跟踪与队形旋转控制
-
【数据分析-随到随学】Spark理论及实战