首页 > 编程知识 正文

计算器的运算器,运算器概念

时间:2023-05-05 19:31:33 阅读:217714 作者:1462

运算方法及运算器

定点补码加、减法运算

补码加法运算:补码加法时,不管两个数是正数还是负数,按补码的和等于和的补码进行运算。

即[x]补+[y]补=[x+y]补。

 

特点:1.符号位与数值部分可以按照相同的规则一起参加运算,符号位不用单独处理。2.补码减法运算可以转换成加法运算。3.补码加、减法运算是有“模”运算,即符号位的进位自然丢失。

补码减法运算:补码减法运算可以转换为加法运算

即[x]补-[y]补=[x]补+[-y]补。

从补码减法公式中可以看出,减法运算可转换[-y]补与补码的加法运算,而求出[-y]补就可以通过[Y]补连同符号位在内一起“求反加1”得到。

例如:x=-0111000,y=-0010001

[x]补=11001000,[y]补=11101111,[-y]补=00010001

[x]补-[y]补=[x]补+[-y]补=11001000=00010001=11011001;

 

3.溢出判断方法

由于计算机的字长是固定的,因此计算机中数的表示范围是有限的。若两个符号数进行相加、减法运算的结果超过了给定的取值范围,就称为溢出。一般来说异号不会产生溢出,只有两个同号的数相加时才会产生溢出。判断溢出的两个方法,

进位检测法:用符号位的进位与最高数值位的进位的异或来检测,若异或结果为1,则溢出,若结果是0则没有溢出。变形补码检测方法:每个操作数在运算时都采用两个符号位,正数用00表示,负数用11表示,两个符号位与数值位一起参加运算。若运算结果的两个符号位的代码一致,表示没有溢出,若运算结果的两个符号位代码不一致,表示溢出。符号位代码位10表示运算结果表示负溢,01表示运算结果位正溢。定点乘法运算

原码一位乘法的算法:符号位通过异或确定,数值部分通过被乘数和乘数的绝对值的n轮加法、移位完成根据当前乘数中参与运算的位确定ACC加什么。若当前运算位=1则acc+【x】原;若=0则acc+0.每轮加法后acc、mq的内容统一逻辑右移。

 

补码一位乘法:符号位、数值位都是由被乘数和乘数进行n轮加法、移位,最后多来一次加法,每次加法可能是+0、+x补码、-x补码,每次位移是补码的算数位移(符号为负,加1,符号为正加0),乘数的符号位参与运算

 

 

 

 

win7中qq截图快捷键是什么

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。