【计算机组成原理】定点数的除法运算 |
您所在的位置:网站首页 › 启蒙汉字卡片图片大全集高清 › 【计算机组成原理】定点数的除法运算 |
22计算机考研交流总QQ群:1032995316 课程咨询微信号|容嬷嬷(csky-rmm) 终于到了定点数运算的结尾部分——定点数的除法运算,其实大家只要认真学习并且掌握了定点数的乘法相信这一部分也会得心应手,那么我们赶紧开始学习吧! 定点数的除法运算 与定点数的乘法运算类似,定点数的出发也分为原码除法运算和补码除法运算。我们在做除法时可以一眼看出来够不够除,但是计算机却做不到,所以它需要先做加减法(被除数与除数做加减法),如果是负数说明不够除,是正数就说明够除。如果不够除就需要恢复成原来的余数以便进行下一步运算,我们把这种方法称为恢复余数法;当然也可以不恢复余数,那么这种方法就称为不恢复余数法(原码加减交替法)。我们就依次来了解它们的基本思想和运算步骤吧! ● 原码除法运算 原码除法主要采用原码不恢复余数法,特点是商符(结果的符号位)和商值(结果的数值位)是分开进行的,商符由操作数的符号位“异或”形成。 还记得原码乘法运算吗,它的规则也是符号位由操作数的符号位异或而成,数值部分是两个操作数的绝对值积。那么同样的,求商值的规则也是如此:两个操作数相除,商的符号由两个操作数的符号位异或而成,商的数值的绝对值由两个操作数的绝对值相除而成。 下面来看看原码除法运算的基本运算规则: 1) 符号位不参与运算。 2) 先用被除数减去除数(|X| - |Y| = |X| +( -|Y| )=|X| + [ -|Y| ]补 ),当余数为正(代表能除够),商为1,余数和商左移一位,再减去除数;当余数为负时,商上0,余数和商左移一位,再加上除数。 3) 当第n+1步余数为负,需要加上|Y|得到第n+1步正确的余数(余数与被除数同号)。 运算规则看似有些复杂,不过仔细观察其实是将我们日常的除法思维移植到计算机上而已。我们在做除法时第一步也是需要判断够不够除,比如3/5,我们就很明显知道不够除应该商0;不过计算机就需要做一次减法(被除数3减去除数5)得到结果为负数后再商0。在得到第一步结果后我们需要做一次运算来更正接下来的结果(也就是商1左移后减去除数,商0左移后加上除数),需要注意的最后我们需要判断第n+1步的余数是否需要修正。 说了这么多我们还是用例子来演示运算过程吧! 设机器字长为5位(含1位符号位,n=4),x=0.1011,y=0.1101,采用原码加减交替除法求x/y。 分析:根据原码加减交替法规则,我们运算时都不考虑符号位,采用绝对值来运算,所以第一步我们先将操作数都化为绝对值:|x| = 0.1011,[y] = 0.1101,[-|y|]补 = 1.0011;接下来我们就可以开始运算啦,过程如下图所示: 注意最终需要计算符号位,得到结果:x/y =+ 0.1101,余数为0.0111*2 ● 补码除法运算 补码一位除的特点同补码一位乘一样:符号位和数值位一起参与运算,商符自然形成。可以说补码一位除就是在原码一位除的基础上加上被除数与除数的符号判断。那我们还是来看看它的规则吧! 1) 符号位参与运算,除数,被除数,商和余数均用补码表示。 2) 若被除数与除数同号,则被除数减去除数;若被除数与除数异号,则被除数加上除数。 3) 若余数与除数同号,则商1,余数左移一位减去除数;若余数与除数异号,则商0,余数左移一位加上除数。 4) 重复执行第三步n次 5) 若对商的精度无特殊要求,则一般采用“末位恒置1”法。 还是通过例子来解释规则吧! 设机器字长为5位(含1位符号位,n=4),x= 0.1000,y=-0.1011,采用补码加减交替法求x/y。 分析:我们第一步还是做好准备工作,将所有操作数化为补码形式:[x]补=00.1000,[y]补=11.0101,[-y]补=00.1011。接下来就可以开始正式的运算: 最终结果为:[x/y]补 = 1.0101,余数为0.0111*2 在学习了定点数的乘法后是不是觉得除法简单了许多?萧剑希望大家学习的时候能够将计算机的处理方式和我们日常处理问题的方式对比起来,同时将定点数的加减乘除移位运算总结归纳,这样比起死记硬背的运算规则效率会高出不少。 微信公众号:冯强计算机与软工考研 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |