补码加、减运算规则
[09-12 12:16:35] 来源:http://www.88dzw.com 电路基础 阅读:8183次
文章摘要:补码加、减运算规则在计算机中,通常总是用补码完成算术的加减法运算。其规则是:[X+Y]补= [X]补 + [Y]补 ,[X-Y]补= [X]补 - [Y]补 = [X]补 + [-Y]补 这表明,有了补码表示的被加(减)数和加(减)数,要完成计算补码表示的二数之和或二数之差,只需用二数的补码直接执行加减运算即可,符号位与数值位同等对待,一起参加运算,若运算结果不溢出,即不超出计算机所能表示的范围,则结果的符号位和数值位同时为正确值。此外,还可以看到,实现减运算时,用的仍是加法器线路,把减数的负数的补码送加法器即可。在有了一个数的补码之后,求这个数的负数的补码,是简单地把这个数的补码逐位取反再在
补码加、减运算规则,标签:电子电路基础,模拟电路基础,http://www.88dzw.com补码加、减运算规则
在计算机中,通常总是用补码完成算术的加减法运算。其规则是:
[X+Y]补= [X]补 + [Y]补 ,[X-Y]补= [X]补 - [Y]补 = [X]补 + [-Y]补
这表明,有了补码表示的被加(减)数和加(减)数,要完成计算补码表示的二数之和或二数之差,只需用二数的补码直接执行加减运算即可,符号位与数值位同等对待,一起参加运算,若运算结果不溢出,即不超出计算机所能表示的范围,则结果的符号位和数值位同时为正确值。此外,还可以看到,实现减运算时,用的仍是加法器线路,把减数的负数的补码送加法器即可。在有了一个数的补码之后,求这个数的负数的补码,是简单地把这个数的补码逐位取反再在最低位加1即可得到。例如,[Y]补=101101,则[-Y]补=010011,这大大简化了加减运算所用的线路和加减运算的实现算法。
下面的问题是如何检查加减运算中的溢出问题。通常有三种表述方式(说法):
(1) 两个符号相同的补码数相加,如果和的符号与加数的符号相反,或两个符号相反的补码数相减,差的符号与减数的符号相同,都属于运算结果溢出。这种判别方法比较复杂,要区别加还是减两种不同运算情况,还要检查结果的符号与其中一个操作数的符号的同异,故很少使用;
(2) 两个补码数相加减时,若最高数值位向符号位送的进位值与符号位送向更高位的进位值不相同,也是运算结果溢出。
(3) 在采用双符号位(如定点小数的模4补码)运算时,若两个符号位的得值不同(01或10)则是溢出。01表明两个正数相加,结果大于机器所能表示的最大正数,称为"上溢";10表明两个负数相加,结果小于机器所能表示的最小负数,称为"下溢";双符号位的高位符号位,不管结果溢出否,均是运算结果正确的符号位,这个结论在乘法运算过程中是很有实际意义的。请注意,在采用双符号位的方案中,在寄存器和内存储器存储数据时,只需存一位符号,双符号位仅用在加法器线路部分。
再次强调,这三种不同说法是对同一个事实的略有区别的表述,实现时用到的线路可以有所区别,但问题的实质是完全一样的。请看 [X]补 + [Y]补 的运算情况:
01011 10101 10100
+ 01000 + 11000 + 11001
10011 101101 101101
(1) (2) (3)
10111 001011 110111
+ 10101 + 001000 + 110101
- 上一篇:原码一位乘法的实现算法
《补码加、减运算规则》相关文章
编辑推荐
- · 什么是系统仿真
- · 什么是CPCI
- · 英特尔 Parallel Composer入门
- · 什么是支持数据库,什么是中宏数据库
- · 什么是数据交换技术
- · 什么是内部数据传输率
- · 什么是空间数据交换中心
- · 什么是差异备份
- · 什么是备份集
- · 什么是映像备份
- · IGBT模块
- · 什么是24脉波整流变压器
- · 自动变速器不能强制降挡故障原因、诊断与排
- · 什么是MD机
- · 中心频率,什么是中心频率
- · 功率单位mw和dbm的换算表
- · 中值滤波模块设计思路
- · 反馈振荡器的原理
- · 气体激光器简介
- · 数制与进位记数法